根据模式的使用目的将设计模式分为三大类:创建型(Creational)、结构型(Structural)和行为型(Behavioral)。创建型模式与对象的创建有关;结构型模式处理类或对象的组合;行为型模式对类或对象怎样交互和怎样分配职责进行描述。
创建型模式有5种:工厂方法模式(Factory Method)、抽象工厂模式(Abstract Factory)、单例模式(Singleton)、建造者模式(Builder)和原型模式(Prototype)。
结构型模式有7种:适配器模式(Adapter)、装饰器模式(Decorator)、代理模式(Proxy)、外观模式(Facade)、桥接模式(Bridge)、组合模式(Composite)和享元模式(Flyweight)。
行为型模式有11种:策略模式(Strategy)、模板方法模式(Template Method)、观察者模式(Observer)、迭代器模式(Iterator)、责任链模式(Chain of Responsibility)、命令模式(Command)、备忘录模式(Memento)、状态模式(State)、访问者模式(Visitor)、中介者模式(Mediator)和解释器模式(Interpreter)。
创建型类模式将对象的部分创建工作延迟到子类,创建型对象模式则将它延迟到另一个对象中。结构型类模式使用继承机制来组合类,结构型对象模式则描述了对象的组装方式。行为型类模式使用继承描述算法和控制流,行为型对象模式则描述一组对象怎样协作来完成单个对象无法完成的任务。(www.xing528.com)
有些模式经常会被绑在一起使用,例如组合模式常和迭代器模式或访问者模式一起使用;有些模式是可替代的,例如原型模式常用来替代抽象工厂模式;有些模式尽管使用意图不同,但产生的设计结果是很相似的,例如组合模式和装饰器模式的结构体是相似的。
可根据模式的“相关模式”部分所描述的它们怎样互相引用来组织设计模式。图10-1给出了模式关系的图形说明。
图10-1 设计模式之间的关系
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。