设计模式 一 引言

如何描述一个设计模式:

  1.   模式名和分类  模式名简洁地描述了模式的本质。
  2. 意图  设计是做什么的?它的基本原理和意图是什么?他解决的是什么样的特定的设计问题
  3. 别名
  4. 动机  用以说明以俄国设计问题以及如何用模式中的类、对象来解决该问题的特定情景。该情景会帮助你理解随后对模式更抽象的描述。
  5. 适用性 什么情况下可以使用该设计模式?该设计模式可用来改进那些不良的设计?你怎样识别这些情况?
  6. 结构 采用基于对象建模技术的表示法对模式中的类进行图形描述。我们也使用了交互图来说明对象之间的请求序列和协作关系。
  7. 参与者 指设计模式的类和或对象以及它们各自的职责
  8. 协作  模式的参与者怎样协作以实现它们的职责
  9. 效果 模式怎样支持它的目标?使用模式的效果和所需做到权衡取舍?系统结构的那些方法可以独立改变。
  10. 实现 实现模式时需要知道的一下提示、技术要点及应避免的缺陷,已经是否存在某些特定于实现语言的问题
  11. 代码示例
  12. 已知应用

 怎样选择一个设计模式:

  1. 考虑设计模式时怎样解决设计问题的
  2. 浏览模式的意图部分。通过读每个模式的意图,找出和你的问题相关的一个或多个模式。
  3. 研究模式怎样相关联 
  4. 研究目的相似的模式
  5. 检查重新设计的原因
  6. 考虑你的设计中哪些是可变的  这个方法与关注重新设计的原因刚红啊相反。它不是考虑什么会迫使你的设计改变,而是考虑你想要什么样的变化却又不会引起重新设计,最主要的一点是封装变化的概念。

怎样使用设计模式:

一旦你选择了一个设计模式,你怎样使用它哪?

  1. 大致浏览一遍模式 特别注意其实用性部分和效果部分,确定它适合你的问题
  2. 回头研究结构部分、参与者部分和协作部分 确保你理解这个模式的类和对象以及它们是怎样关联的
  3. 看代码示例部分,看看这个模式代码形式的具体例子 研究代码将有助于你实现模式
  4. 选择模式参与者的名字,使它们在应用上下午中有意义 设计模式参与者的名字通常通过抽象而不会直接出现在应用中。将参与者的名字和应用中出现的名字合并起来是很有用的。
  5. 定义类 声明它们的接口,建立它们的继承关系,定义代表数据和对象引用的实例变量。识别模式会影响到你的应用中存在的类,做成相应的修改
  6. 定义模式中专用于应用的操作名称 名字一般依赖于应用,命名约定要一致
  7. 实现执行模式中责任和协作的操作 实现部分提供线索指导你的实现

 

 

posted on 2012-04-24 22:13  lufangtao  阅读(443)  评论(0编辑  收藏  举报

导航