设计模式-起篇

什么是设计模式?

Christoppher Alexander说过:"每一个模式描述了一个人在我们周围不断重复发生的问题,以及该问题的解决方案的核心。这样,你就能一次又一次的使用该方案而不必做重复劳动“。

尽管这人说的是城市和建筑模式,但他的思想也同样适用于面向对象设计模式。

一般而言,一个模式有四个基本要素:

1.模式名称   一个助记名,它用一两个词来描述模式的问题、解决方案和效果。

2.问题  描述了应该在何时使用模式。

3.解决方案  描述了设计的组成部分,他们之间的相互关系及各自的职责和协作方式

4.效果  描述了模式应用的效果及使用模式应权衡的问题

总而言之,设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述。

那我们应该怎么样描述设计模式呢?

我们将用统一的格式描述设计模式,每一个模式根据以下的模板被分成若干部分。

1.模板名和分类 模板名简洁的描述了模式的本质

2.意图 是回答下列的问题的简单陈述:设计模式是做什么的?它的基本原理和意图是什么?它解决的是什么样的特定设计问题

3.别名 模式的其他名称

4.动机 用以说明一个设计问题以及如何用模式中的类、对象来解决该问题的特定情境

5.适用性 什么情况下可以使用该设计模式?该模式可用来改进哪些不良设计?你怎么样识别这些情况?

6.结构 采用基于对象建模方式(OMT)【RBP+91】的表示法对模式中的类进行图形描述。

7.参与者 指设计模式中的类和、或对象以及他们各自的职责

8.协作 模式的参与者怎样协作以及实现他们的职责

9.效果 模式怎样支持它的目标?使用模式的效果和所需做的权衡取舍?系统结构的哪些方面可以独立改变?

10.实现 实现模式时需要知道的一些提示、技术要点及应避免的缺陷,以及是否存在某些特定于实现语言的问题

11.代码示例

12.已知应用

13.相关模式 与这个模式紧密相关的模式有哪些?其间重要的不同之处是什么?这个模式应与哪些其他模式一起使用?

猜你喜欢

转载自www.cnblogs.com/gekefei/p/12507413.html