1. 根据目的准则分类:
(1) Creational:创建或实例化对象(用途:实例化对象)
(2) Structural:将已有的对象组合起来(用途:处理接口,将实现与抽象联系起来)
(3) Behavioral:描述类或对象如何交互及如何分配职责,给出一种提供灵活性为的方式(用途:封装变化)
2.根据范围准则分类:
(1)类模式:用于处理类和子类之间的关系,这些关系时通过继承建立的,在编译器就已经确定下来了。
(2)对象模式:用于处理对象间的关系,这些关系具有动态性,在运行时是可以改变的。
Creational |
Structural |
Behavioral |
|
类 |
Simple Factory Factory Method |
Adapter(class) |
Interpreter Template method |
对象 |
Abstract Factory Builder Prototype Singleton |
Adapter(object) Bridge Composite Decorator Facade Flyweight Proxy |
Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor |