软件设计模式(Software Design Pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。它描述了在软件设计过程中的一些不断重复发生的问题,以及该问题的解决方案。也就是说,它是解决特定问题的一系列套路,是前辈们的代码设计经验的总结,具有一定的普遍性,可以反复使用。
-
创建型模式
描述“怎样创建对象”,它的主要特点是”将对象的创建与使用分离“,包括以下 5 种:
- 单例
- 原型
- 工厂方法
- 抽象工厂
- 建造者
-
结构型模式
描述如何将类或对象按某种布局组成更大的结构,包括以下 7 种:
- 代理
- 适配器
- 桥接
- 装饰
- 外观
- 享元
- 组合
-
行为型模式
描述类或对象之间怎样相互协作共同完成单个对象无法单独完成的任务,以及怎样分配职责,包括以下 11 种:
- 模板方法
- 策略
- 命令
- 职责链
- 状态
- 观察者
- 中介者
- 迭代器
- 访问者
- 备忘录
- 解释器