架构师训练营 -W03S- 代码重构
设计模式
设计模式是一种可重复使用的解决方案,对多态的应用。
设计模式的四个部分
模式的名称
待解问题
解决方案
结论
设计模式分类
从功能分类
创建模式:对类的实例化过程的抽象。
结构模式:将类或者对象结合在一起形成更大的结构。
行为模式:对在不同的对象直线划分责任和算法的抽象化。
从方式分
类模式(不建议使用):以继承的方式实现模式,静态。
对象模式:以组合的方式实现模式,动态。
简单工厂模式
使Clinet不依赖Sorter的具体实现。
增加Sorter不影响Client,对Clinet实现开闭原则。
增加Sorter需要修改Factory,对Factory未实现开闭原则。
单例模式
保证产生单一实例,一个类只产生一个实例。
使用单例模式的两个原因
性能需求:减少实例频繁创建和销毁带来的资源消耗。
功能需求:当多个用户使用这个实例的时候,便于进行统一控制。
适配器模式
类的适配器
对象的适配器
系统需要使用现有的类,而这个类的接口与所需要的不同。
模版方法模式
模版方法模式是扩展功能的最基本模式之一,是一种“类的行为模式”。
通过“继承”的方法来实现扩展
基类负责算法的轮廓和骨架
子类负责算法的具体实现
基于“继承”的模版方法比“组合”更容易实现。
形式
抽象方法
具体方法
钩子方法
策略模式
策略模式是扩展功能的另一种最基本的模式,是一种“对象的行为模式”。
通过“组合”的方法来实现扩展。
定义一个接口抽象,应用程序根据抽象类进行编程开发,由多种具体实现完成。
插件是策略模式的一种应用
框架都是策略模式
装饰器模式
是一种“对象的结构模式”。
在不改变对客户端的接口的前提下(对客户端透明),扩展现有对象的功能。
组合模式
是一种“对象的结构模式”。
做树形结构处理。
可以从树的任何一个节点执行。
评论