(1)设计模式的定义:
-
一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结
-
是一种用于对软件系统中不断重现的设计问题的解决方案进行文档化的技术
-
是一种共享专家设计经验的技术
-
目的:为了可重用代码、让代码更容易被他人理解、提高代码可靠性
(2)设计模式的分类
-
根据目的(模式是用来做什么的)可分为创建型(Creational),结构型(Structural)和行为型(Behavioral)三类:
-
创建型模式主要用于创建对象
-
结构型模式主要用于处理类或对象的组合
-
行为型模式主要用于描述或对象如何交互和怎样分配职责
-
-
根据范围,即模式主要是处理类之间的关系还是处理对象之间的关系,可分为类模式和对象模式两种:
-
类模式处理类和子类之间的关系,这些关系通过继承建立,在编译时刻就被确定下来了,这是一种静态关系
-
对象模式处理对象间的关系,这些关系在运行时变化,更具动态性
-
范围\目的 | 创建型模式 | 结构型模式 | 行为型模式 |
---|---|---|---|
类模式 | 工厂方法模式 | (类)适配器模式 | 解释器模式 模板方法模式 |
对象模式 | 抽象工厂模式 建造者模式 原型模式 单例模式 | (对象)适配器模式 桥接模式 组合模式 装饰模式 外观模式 享元模式 代理模式 | 职责链模式 命令模式 迭代器模式 中介模式 备忘录模式 观察者模式 状态模式 策略模式 访问者模式 |