所谓“设计模式”,每种模式描述了一个在我们周围不断重复发生的问题,以及该问题的解决方案的核心。
1. 模式的组成:
一般而言,一个模式有四个基本要求:
1. 模式名称;
2. 要解决的问题;
3. 解决方案;
4. 效果。
2. 设计模式的分类:
根据两条准则对模式进行分类:
1. 目的准则,即械是用来完成什么工作的。依据目的,模式可以分为三种:创建型、结构型和行为型。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。
2. 范围准则:指定模式主要是用于类还是用于对象。类模式处理类和子类之间的关系,这些关系通过继承建议,是静态的,在编译时刻便确定下来。对象模式处理对象之间的关系,这些关系在运行时刻是可以变化的,更具动态性。从某种意义上说,几乎所有模式都使用继承机制,所以“类模式”只指那些集中于处理类间关系的模式,而大部分模式都属于对象模式的范畴。
根据上述模式分类的原则,现有的二十来个模式是这样的组织:
目的 | ||||
创建型 | 结构型 | 行为型 | ||
范围 | 类 | Factory Method | Adapter(类) | Interpreter Template Method |
对象 | Abstract Factary Builder Prototype Singleton | Adapter(对象) Bridge Composite Decorator Facade Flyweight Proxy | Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor |