模式的分类
模式依据其目的可分为创建型( Creational )、结构型 (Structural) 、或行为型 (Behavioral) 三种。创建型模式与对象的创建 有关;结构型模式处理类或对象的组合 ;行为型模式描述类或对象之间的职责分配和交互
根据范围准则,模式可分为类模式和对象模式。类模式处理类和子类之间 的关系,这些关系通过继承建立 ,是静态的,由编译时确定。对象模式处理对象间 的关系,这些关系在运行时刻是可变化的,更具动态性。从某种意义上来说,几乎所有模式都使用继承机制
分类如下:
| 创建型 | 结构型 | 行为型 |
类 | Factory Method | Adapter( 类 ) | Interpreter; Template Method |
对象 | Abstract Factory; Builder; Prototype; Singleton ----------------------- Object Factory Object Pool Creation Method | Adapter( 对象 ); Bridge; Composite; Decorator; Façade; Flyweight; Proxy | Chain of Responsibility; Command; Iterator; Mediator; Memento; Observer; State; Strategy; Visitor |
说明:
创建型类模式 将对象的部分创建工作延迟到子类 ,而创建型对象模式则将它延迟到另一个对象中 。结构型类模式使用继承机制来组合类 ,而结构型对象模式则描述了对象的组合方式。行为型类模式使用继承描述算法和控制流 ,而行为型对象模式则描述一组对象如何协作
还有其他组织模式的方式。有些模式经常会被绑在一起使用,例如, Composite 常和 Iterato r 或 Visitor 一起使用;有些模式是可替代的,例如, Prototype 常用来替代 Abstract Factory ;有些模式尽管使用意图不同,但产生的设计结果是很相似的,例如, Composite 和 Decorator 的结构图是相似的。
待续......