设计模式 总结

本文最后更新于:2024年3月18日 凌晨

总结一下设计模式, 感觉这应该是某种"元知识"…

设计模式

一些核心规则

  • 识别变化, 然后把变化的部分封装起来
  • 可测试通常也意味着高质量
    • 测试驱动开发 (TDD): 先写测试
    • 高内聚, 低耦合

Facade 模式

\fə-ˈsäd, 外观模式

对一个复杂的系统, 提供一个相对简单的对外接口, 接口不一定完整 (是原系统功能的子集), 但足以满足外部要求

实现: 定义一个或多个实现对外接口的新类, 这些类使用原来的系统 (相当于封装了一层)

Adapter 模式

适配器模式

使控制范围之外的一个原有对象与某个已经固定的已知接口匹配

实现: 使原有类包含在新的类中, 新的类提供对外所需的接口, 这样可以保持多态性

Strategy 模式

策略模式

根据当前的环境上下文使用不同的业务规则/算法

实现: 将不同的算法封装为不同的类, 对外暴露相同的接口; 调用者利用多态调用接口即可

Bridge 模式

桥接模式

将实现与使用分离, 这样所有的实现就可以只公用一个接口 (usu. 抽象类)

image.png

实现: 将实现封装在抽象类中, 然后在使用的地方包含一个抽象类的引用

Abstragy Factory 模式

抽象工厂模式

抽象工厂模式是为了让创建工厂和一组产品与使用相分离,并可以随时切换到另一个工厂以及另一组产品;

抽象工厂模式实现的关键点是定义工厂接口和产品接口,但如何实现工厂与产品本身需要留给具体的子类实现,客户端只和抽象工厂与抽象产品打交道。


设计模式 总结
https://horizonchaser.github.io/2022/08/28/设计模式-总结/
作者
Horizon
发布于
2022年8月28日
许可协议