设计模式 总结
本文最后更新于:2024年7月24日 凌晨
总结一下设计模式, 感觉这应该是某种"元知识"…
设计模式
一些核心规则
- 识别变化, 然后把变化的部分封装起来
- 可测试通常也意味着高质量
- 测试驱动开发 (TDD): 先写测试
- 高内聚, 低耦合
Facade 模式
\fə-ˈsäd, 外观模式
对一个复杂的系统, 提供一个相对简单的对外接口, 接口不一定完整 (是原系统功能的子集), 但足以满足外部要求
实现: 定义一个或多个实现对外接口的新类, 这些类使用原来的系统 (相当于封装了一层)
Adapter 模式
适配器模式
使控制范围之外的一个原有对象与某个已经固定的已知接口匹配
实现: 使原有类包含在新的类中, 新的类提供对外所需的接口, 这样可以保持多态性
Strategy 模式
策略模式
根据当前的环境上下文使用不同的业务规则/算法
实现: 将不同的算法封装为不同的类, 对外暴露相同的接口; 调用者利用多态调用接口即可
Bridge 模式
桥接模式
将实现与使用分离, 这样所有的实现就可以只公用一个接口 (usu. 抽象类)
实现: 将实现封装在抽象类中, 然后在使用的地方包含一个抽象类的引用
Abstragy Factory 模式
抽象工厂模式
抽象工厂模式是为了让创建工厂和一组产品与使用相分离,并可以随时切换到另一个工厂以及另一组产品;
抽象工厂模式实现的关键点是定义工厂接口和产品接口,但如何实现工厂与产品本身需要留给具体的子类实现,客户端只和抽象工厂与抽象产品打交道。
设计模式 总结
https://horizonchaser.github.io/2022/08/28/设计模式-总结/