一.模式分类
创建型模式
定义:用来创建对象的模式,抽象了实例化的过程,帮助一个系统独立于其关联对象的创建、组合和表示方式。
简述:对类的实例化过程的抽象化,能够提供对象的创建和职责
作用:
- 将系统所使用的具体类的信息封装起来;
- 隐藏类的实例是如何被创建和组织的,外界对于这些对象只知道它们共同的接口,而不清楚其具体的实现细节
- 封装创建逻辑,不仅仅是new一个对象这么简单
- 封装创建逻辑变化,客户代码尽量少修改或不修改
共5种:
- 单例模式
- 工厂方法模式
- 抽象工厂模式
- 建造者模式
- 原型模式
结构型模式
定义:讨论的是类和对象的结构,它采用继承机制来组合接口或实现,或者通过组合一些对象实现新的功能。
简述:描述如何将类或者对象结合在一起形成更大的结构。
共7种:
- 代理模式
- 装饰模式
- 适配器模式
- 组合模式
- 桥梁模式
- 外观模式
- 享元模式
行为型模式
定义:关注的是对象的行为,用来解决对象之间的联系问题
描述:对不同的对象之间划分责任和算法的抽象化
共11种:
- 模版方法模式
- 命令模式
- 责任链模式
- 策略模式
- 迭代器模式
- 中介者模式
- 观察者模式
- 备忘录模式
- 访问者模式
- 状态模式
- 解释器模式