描述设计模式
为了达到设计复用,我们必须同时记录设计产生的决定过程、选择过程和权衡过程。
我们将用统一的格式描述设计模式,每一个模式根据以下的模板被分成若干部分:
- 模式名和分类 模式名简洁地描述了模式的本质。
- 意图 是回答下列问题的简单陈述:设计模式是做什么的?它的基本原理和意图是什么?它解决的是什么样的特定设计问题?
- 别名 模式的其他名称。
- 动机 用以说明一个设计问题以及如何用模式中的类、对象来解决该问题的特定情景。
- 适用性 什么情况下可以使用该设计模式?该模式可用来改进哪些不良设计?你怎样识别这些情况?
- 结构 采用基于对象建模技术的表示法对模式中的类进行图形描述。
- 参与者 指设计模式中的类和/或对象以及它们各自的职责。
- 协作 模式的参与者怎样协作以实现它们的职责。
- 效果 模式怎样支持它的目标?使用模式的效果和所需做的权衡取舍?系统结构的哪些方面可 以独立改变?
- 实现 实现模式时需要知道的一些提示、技术要点及应避免的缺陷,以及是否存在某些特定于 实现语言的问题。
- 代码示例 用来说明怎样用 Java 实现该模式的代码片段。
- 已知应用 实际系统中发现的模式的例子。每个模式至少包括了两个不同领域的实例。
- 相关模式 与这个模式紧密相关的模式有哪些?其间重要的不同之处是什么?这个模式应与哪些其 他模式一起使用?