一、设计模式的分类
1.1 根据目的分类
(1)创建型:关注对象的创建过程,描述如何将对象的创建和使用分离,让调用者无需关心对象的创建细节,降低耦合的同时也更易于修改和扩展
(2)结构型:用于处理类或对象的组合,将现有类或对象组织在一起形成更加强大的结构,
(3)行为型:用于描述类或对象怎样交互和怎样分配职责,关注系统中对象之间的交互,研究系统在运行时对象之间的相互通信与协作,进一步明确对象的职责。
1.2 根据范围分类
即是用于处理类之间的关系还是处理对象之间的关系,可分为类模式和对象模式两种
(1)类模式:描述处理类和子类之间的关系,这些关系通过继承建立,在编译时就被确定下来,是一种静态关系
(2)对象模式:用于处理对象之间的关系,这些关系在运行时变化,更具动态性
1.3 GoF设计模式
范围/目的 | 创建型 | 结构型 | 行为型 |
---|---|---|---|
类模式 | 工厂方法模式 | 适配器模式(类) | 解释器模式 |
对象模式 | 抽象工厂、单例模式 | 代理模式、适配器模式(对象) |