设计模式分为三类:
-
创建型模式
- 是关于如何创建实例的。目的是将对象的创建和对象的使用进行分离
- 包括:
- 简单工厂(SimpleFactory)
- 工厂方法(FactoryMethod)
- 抽象工厂(AbstractFactory)
- 原型模式(Prototype)
- 建造者模式(Builder)
- 单例模式(Singleton)
-
结构型模式
- 是关于类及对象之间复合关系的。目的是解决对象之间依赖关系
- 包括:
- 外观模式(Facade)
- 适配器模式(Adapter)
- 装饰器模式(Decorator)
- 代理模式(Proxy)
- 桥接模式(Bridge)
- 组合模式(Composite)
- 享元模式(FlyWeight)
-
行为型模式
- 是关于对象之间如何通信的。目的是提高对象之间的协作效率
- 包括:
- 迭代子模式(Iterator)
- 模板方法模式(TemplateMethod)
- 观察者模式(Observer)
- 状态模式(State)
- 策略模式(Strategy)
- 职责链模式(ResposibilityChain)
- 命令模式(Command)
- 访问者模式(Visitor)
- 中介者模式(Mediator)
- 备忘录模式(Memento)
- 解释器模式(Interpreter)