架构师训练营第三周”代码重构“总结
什么是设计模式
设计模式是一种可重复使用的解决方案
描述了组成设计的元素(类和对象)、他们的关系、职责以及合作
设计模式分类
功能划分
创造模式:对类的实例化过程进行抽象
结构模式:描述类、对象的组合关系
行为模式:不同的对象之间划分责任和算法的抽象
元素方式分
类模式:继承的方式实现模式,静态的
对象模式:组合的方式实现模式,动态的
几种重要的设计模式
简单工厂模式
专门定义一个类来负责创建其它实例
对象的创建与业务处理分离,降低耦合
单例模式
保证只有一个实例,减少实例频繁创建和销毁带来的销毁
因为只有一个实例,方便统一控制
高并发下可能会创建多个实例,因此需要加锁控制
适配器模式
添加适配层,将接口兼容
模板方法模式
基类负责算法的轮廓和骨架
子类负责算法的具体实现
策略模式
系统需要在多种算法中选择一种
将条件语句转换成对于策略的多态性调用
策略的选择还是由客户端决定,仅仅是封装了算法的实现
组合模式
将对象组合成树形结构以表示"部分-整体"的层次结构
用户对单个对象和组合对象的使用具有一致性
高层模块调用简单
装饰器模式
不改变现有对象的功能下拓展现有对象的功能
装饰器可以任意组合,执行有一定顺序
其它
依赖注入与控制反转
MVC
Model(模型)、View(视图)和 Controller(控制)
分层设计思想,层内部的改动不会对其它层有影响
评论