在《设计模式:可复用面向对象软件的基础》(Design Patterns: Elements of Reusable Object-Oriented Software) 这本书中,作者把设计模式分了三大类:
创建型模式(Creational patterns)
创建型模式是为了解决创建对象时候遇到的问题。因为基本的对象创建方式可能会导致设计上的问题,或增加设计的复杂度。创建型模式有两个主导思想:一是将系统使用的具体类封装起来,二是隐藏这些具体类的实例创建和结合方式。
最常见的五种创建型模式如下:
工厂方法模式(Factory method pattern)
抽象工厂模式(Abstract factory pattern)
单例模式(Singleton pattern)
建造者模式(Builder pattern)
原型模式(Prototype pattern)
结构型模式(Structural pattern)
结构型模式是通过定义一个简单的方法来实现和了解实体间关系,从而简化设计。
适配器模式(Adapter pattern)
桥接模式(Bridge pattern)
合成模式(Composite pattern)
装饰器模式(Decorator pattern)
门面模式(Facade pattern)
代理模式(Proxy pattern)
享元模式(Flyweight Pattern)
行为型模式(Behavioral pattern)
行为型模式用来识别对象之间的常用交流模式并加以实现,使得交流变得更加灵活。
策略模式(Strategy pattern)
模板方法模式(Template method pattern)
观察者模式(Observer pattern)
迭代器模式(Iterator pattern)
责任链模式(Chain of responsibility pattern)
命令模式(Command pattern)
备忘录模式(Memento pattern)
状态模式(State pattern)
访问者模式(Visitor pattern)
中介者模式(Mediator pattern)