1 什么是设计模式
模式有4个基本要素:
- 模式名:描述模式的问题、解决方案和效果。
- 问题:描述应该在何时使用模式。
- 解决方案:描述设计的组成成分、它们之间的相互关系及各自的职责和协作方式。
- 效果:描述模式应用的效果及使用模式应权衡的问题。
设计模式是对用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。
2 设计模式的描述
- 模式名和分类:模式名简洁地描述了模式的本质。
- 意图:设计模式是做什么的?它的基本原理和意图是什么?它解决的是什么样的特定设计问题?
- 别名:模式的其他名称。
- 动机:用以说明一个设计问题以及如何用模式中的类、对象来解决该问题的特定情景。
- 适用性:什么情况下可以使用该设计模式?该模式可用来改进哪些不良设计?怎样识别这种情况?
- 结构:采用基于对象建模技术的表示法对模式中的类进行图形描述。
- 参与者:指设计模式中的类和/或对象以及它们各自的职责。
- 协作:模式的参与者怎样协作以实现它们的职责。
- 效果:模式怎样支持它的目标?使用模式的效果和所需做的权衡是什么?系统结构的哪些方面可以独立改变?
- 实现: 实现模式时需要知道的一些提示、技术要点及应避免的缺陷,以及是否存在某些特定于实现语言的问题。
- 代码示例
- 已知应用:实际系统中发现的模式的例子。
- 相关模式: