博观而约取,厚积而薄发。——苏轼《稼说》
根据 GoF 写的《设计模式:可复用面向对象软件的基础》一书,设计模式分为以下 3 个类别共 23 种:
- 创建型模式: 抽象工厂模式 ( Abstract Factory ) 、 建造者模式 ( Builder ) 、 工厂方法模式 ( Factory Method ) 、 原型模式 ( Prototype ) 、 单例模式 ( Singleton )
- 结构性模式: 适配器模式 ( Adapter ) 、 桥接模式 ( Bridge ) 、 组成模式 ( Composite ) 、 装饰模式 ( Decorator ) 、 外观模式 ( Facade ) 、 享元模式 ( Flyweight ) 、 代理模式 ( Proxy )
- 行为模式: 职责链模式 ( Chain Of Responsibility ) 、 命令模式 ( Command ) 、 解释器模式 ( Interpreter ) 、 迭代器模式 ( Iterator ) 、 中介者模式 ( Mediator ) 、 备忘录模式 ( Memento ) 、 观察者模式 ( Observer ) 、 状态模式 ( State ) 、 策略模式 ( Strategy ) 、 模板方法模式 ( Template Method ) 、 访问者模式 ( Visitor )