
设计模式UML类图全集:23种模式清晰图解
下载需积分: 17 | 1.24MB |
更新于2025-06-19
| 4 浏览量 | 4 评论 | 举报
1
收藏
在软件工程领域,设计模式是一套被反复使用、多数人知晓、经过分类编目、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。由于设计模式的重要性,对其进行系统化的学习和总结对于软件开发人员来说是必不可少的。本知识点将围绕“23种经典设计模式UML类图汇总”这一主题展开,详细解读这23种设计模式,并通过UML类图的方式来展现它们。
首先,23种经典设计模式按照其目的和范围大致可以分为三类:创建型模式、结构型模式和行为型模式。
一、创建型模式:
创建型模式主要关注对象的创建过程,它们尽量隐藏具体类的实例化过程,用户无需关心对象的具体类型,只需知道对象的接口。创建型模式包括:
1. 单例模式(Singleton)
- 单例模式确保一个类只有一个实例,并提供一个全局访问点。UML类图中通常包含一个类和一个指向该类实例的静态属性。
2. 工厂方法模式(Factory Method)
- 工厂方法模式定义了一个创建对象的接口,但让子类决定实例化哪一个类。工厂方法把类的实例化推迟到子类。UML类图中包含抽象工厂类和具体工厂类,以及抽象产品和具体产品。
3. 抽象工厂模式(Abstract Factory)
- 抽象工厂模式提供了一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。UML类图中通常包含一个抽象工厂接口和多个具体工厂类。
4. 建造者模式(Builder)
- 建造者模式将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。UML类图中包含产品、建造者接口和具体建造者。
5. 原型模式(Prototype)
- 原型模式用原型实例指定创建对象的种类,并且通过复制这些原型创建新的对象。UML类图中通常包含一个原型接口和它的具体实现。
二、结构型模式:
结构型模式涉及如何组合类和对象以获得更大的结构。结构型模式包括:
6. 适配器模式(Adapter)
- 适配器模式将一个类的接口转换成客户期望的另一个接口,适配器让原本接口不兼容的类可以合作无间。UML类图中包含目标接口、被适配者和适配器。
7. 桥接模式(Bridge)
- 桥接模式将抽象部分与实现部分分离,使它们都可以独立地变化。UML类图中包含抽象化和实现化两个独立变化的维度。
8. 组合模式(Composite)
- 组合模式将对象组合成树形结构以表示“部分-整体”的层次结构,使得用户对单个对象和组合对象的使用具有一致性。UML类图中包含组件、叶子和复合物。
9. 装饰器模式(Decorator)
- 装饰器模式动态地给一个对象添加一些额外的职责,就增加功能来说,装饰器模式比生成子类更为灵活。UML类图中包含组件和具体装饰者。
10. 外观模式(Facade)
- 外观模式提供了一个统一的接口,用来访问子系统中的一群接口。UML类图中包含外观角色和多个子系统角色。
11. 享元模式(Flyweight)
- 享元模式通过共享技术实现大量细粒度对象的复用。UML类图中包含享元和多个上下文。
12. 代理模式(Proxy)
- 代理模式为其他对象提供一种代理以控制对这个对象的访问。UML类图中包含主题接口、实际主题和代理类。
三、行为型模式:
行为型模式关注的是对象之间的通信和控制,行为型模式分为类行为模式和对象行为模式,类行为模式使用继承来分配行为,对象行为模式使用组合。行为型模式包括:
13. 责任链模式(Chain of Responsibility)
- 责任链模式通过给多个对象处理请求的机会,将这些对象连成一条链,并沿着这条链传递请求直到有一个对象处理它。UML类图中包含处理器和多个具体处理器。
14. 命令模式(Command)
- 命令模式将请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。UML类图中包含发送者、接收者和具体命令。
15. 解释器模式(Interpreter)
- 解释器模式为语言创建解释器,通常用于特定领域的语言。UML类图中包含抽象表达式、终结符表达式和上下文。
16. 迭代器模式(Iterator)
- 迭代器模式提供一种方法顺序访问一个聚合对象中的各个元素,而又不暴露其内部的表示。UML类图中包含迭代器和聚合。
17. 中介者模式(Mediator)
- 中介者模式用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。UML类图中包含中介者和多个同事类。
18. 备忘录模式(Memento)
- 备忘录模式在不破坏封装的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态,以便在需要的时候将对象恢复到原先的状态。UML类图中包含发起者、备忘录和管理者。
19. 观察者模式(Observer)
- 观察者模式定义对象之间的一对多依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都会得到通知并被自动更新。UML类图中包含主题和多个观察者。
20. 状态模式(State)
- 状态模式允许一个对象在其内部状态改变的时候改变它的行为。对象看起来似乎修改了它的类。UML类图中包含上下文和多个状态。
21. 策略模式(Strategy)
- 策略模式定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。策略模式让算法的变化独立于使用算法的客户。UML类图中包含策略接口和多个具体策略。
22. 模板方法模式(Template Method)
- 模板方法模式在一个方法中定义了一个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些特定步骤。UML类图中包含抽象类和具体子类。
23. 访问者模式(Visitor)
- 访问者模式表示一个作用于某对象结构中的各元素的操作,它使你可以在不改变各元素的类的前提下定义作用于这些元素的新操作。UML类图中包含访问者和多个具体访问者。
以上是23种设计模式的简要介绍,每种模式都解决了特定的设计问题,并具有其适用的场景。掌握这些设计模式对于编写可维护、灵活、可复用的软件至关重要。理解这些模式的UML类图可以帮助我们更好地可视化和理解模式的结构和实现方式,对于设计模式的学习和应用有着重要的辅助作用。
相关推荐














资源评论

Crazyanti
2025.08.12
设计模式爱好者的必备参考资料,图文并茂,易于理解。

whph
2025.06.11
适合初学者和中级开发者,快速掌握设计模式要点。

葡萄的眼泪
2025.04.08
涵盖了所有23种设计模式,是学习和回顾的好工具。

洋葱庄
2025.03.03
这份文档对设计模式的学习者来说非常友好,条理清晰。

aiyezi2009
- 粉丝: 0
最新资源
- HyperTalk内容共享扩展:Chrome视频协作新体验
- MCBBS扩展插件-crx插件:实现消息提醒与热门贴推送
- 档案娘助手:微博批量管理及数据清理神器
- TrueConf WebRTC会议内容共享扩展-crx插件使用指南
- GitHub Classroom实践:掌握Git与版本控制
- React可移动组件 - 支持拖拽、缩放、变形等交互特性
- 创建Moralis井字游戏的TypeScript版本
- 计算机统考408思维导图精选汇总
- Polygon Modulator: 自定义评论过滤器扩展
- GitHub Wiki Search-crx插件:增强GitHub Wiki搜索功能
- CFCA扩展程序:联合支付票据业务系统证书应用
- 金融资本与社会资本在阿根廷贫困问题上的应用 - CRX插件解析
- Sensei Review-crx插件:深度评测与最佳选择建议
- GitHub Smart Copying Chrome扩展:清除复制差异
- Swagger Links-CRX插件:管理Swagger源文档链接
- Dockerfile Downloader-crx插件:高效从Docker Hub抓取Dockerfile
- Docker-Compose部署Node.js应用与数据库迁移指南
- Dune Metal-crx:简化区块链应用使用的浏览器插件
- 使用watchers-crx插件实时监控文件更改
- 响应式Jekyll主题:文本展示与知识分享
- R语言在物理统计分析中的高级练习指南
- 奔驰SUV越野车资讯网站模板下载
- Link Checker-crx插件:快速(xhr)链接检查工具
- 旧Github UI-crx插件:经典界面恢复与新侧边栏优化