设计模式分类

23 种设计模式的三大分类:创建型、结构型、行为型

问题

设计模式有哪些分类?每种分类包含哪些具体模式?

解答

设计模式共 23 种,分为三大类:

创建型模式(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)

关键点

  • 创建型模式解决对象创建问题,共 5 种
  • 结构型模式解决类和对象的组合问题,共 7 种
  • 行为型模式解决对象间的通信和职责分配问题,共 11 种
  • 三大类共 23 种设计模式,是软件设计的经典解决方案