总体来说设计模式分为三大类:

创建型模式(5种):工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式。

结构型模式(7种):适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式。

行为型模式(11种):策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。

设计模式的三大类_设计模式

其实还有两类:并发型模式和线程池模式。用一个图片来整体描述一下:

设计模式的三大类_行为型模式_02

根据作用范围来分

根据模式是主要用于类上还是主要用于对象上来分,这种方式可分为类模式和对象模式两种。


  1. 类模式:用于处理类与子类之间的关系,这些关系通过继承来建立,是静态的,在编译时刻便确定下来了。工厂方法、(类)适配器、模板方法、解释器属于该模式。
  2. 对象模式:用于处理对象之间的关系,这些关系可以通过组合或聚合来实现,在运行时刻是可以变化的,更具动态性。

范围\目的

创建型模式

结构型模式

行为型模式

类模式

工厂方法

(类)适配器

模板方法、解释器

对象模式

单例

原型

抽象工厂

建造者

代理

(对象)适配器

桥接

装饰

外观

享元

组合

策略

命令

职责链

状态

观察者

中介者

迭代器

访问者

备忘录