UML与设计模式:建模语言与23种设计模式解析

需积分: 9 1 下载量 14 浏览量 更新于2024-09-13 收藏 3KB TXT 举报
"UML设计模式" UML,全称为Unified Modeling Language,是一种统一建模语言,用于可视化地表达软件系统的设计。它集成了Booch、OOSE(Object-Oriented Software Engineering,面向对象软件工程)和OMT(Object Modeling Technique,对象建模技术)等早期建模方法,并在1996年首次推出0.91版本,随后在1997年发布了1.0版本。目前广泛使用的是2.0版本。UML提供了多种模型图,包括用例图、类图、时序图、状态图和活动图,覆盖了软件开发的不同阶段。 1. 用例图(UseCase)主要应用于需求分析阶段,用于描绘系统中用户角色、功能及其相互关系,帮助理解软件的基本需求和预期行为。 2. 类图(Class)在详细设计阶段使用,它描述了类的结构,包括类的属性、操作以及类之间的关联、继承和聚合等关系,是理解和组织代码的基础。 3. 时序图(Sequence Diagrams)同样在详细设计阶段使用,展示了一组对象如何交互以完成特定用例,通过时间序列展示了消息传递的顺序。 4. 状态图(State Diagrams)用于描述对象在其生命周期内的状态变化,以及触发状态转换的事件。 5. 活动图(Activity Diagrams)则关注于工作流程,通常用来表示用例或系统的动态行为,类似于流程图,强调执行的顺序和并发性。 设计模式是软件开发中的一个重要概念,源于建筑学,由Erich Gamma等人在《设计模式:可复用面向对象软件的基础》中总结了23种设计模式。设计模式是解决常见问题的经过验证的解决方案,旨在提高代码的可读性、可维护性和可扩展性。23种设计模式大致分为三类: 1. 创建型模式: - 简单工厂模式:集中管理对象创建,适用于对象类型较少且相对固定的情况。 - 工厂方法模式:允许子类决定实例化哪个类,适应于对象类型频繁变化的场景。 - 抽象工厂模式:处理多个相关对象家族的创建,适用于对象类型非常多的情况。 - 构造器模式:分步骤创建复杂对象,可以独立于对象组装过程进行变化。 - 单例模式:确保一个类只有一个实例,常用于全局访问点。 - 原型模式:通过复制已有对象来创建新对象,减少创建新对象的开销。 2. 结构型模式: - 主要关注如何组合和连接类与对象,以创建更大的结构,如适配器模式、装饰器模式、代理模式、桥接模式、组合模式、外观模式、享元模式和代理模式。 3. 行为型模式: - 关注对象之间的责任分配和交互,例如命令模式、解释器模式、迭代器模式、访问者模式、备忘录模式、观察者模式、状态模式、策略模式、模板方法模式和访问者模式。 在实际开发中,利用抽象工厂模式,可以创建一个工厂类来管理多个DAO(Data Access Object)的实例,如用户DAO和产品DAO,这样可以灵活地根据需求选择或更换具体的DAO实现,而无需修改大量代码。这种设计模式提高了代码的可扩展性和可维护性。