前言
前面也用过两个设计模式,其实这个时候为什么这么用、怎么选择其实都有讲究的,今天就来研究下原则是什么
核心思想
- 解决软件中复杂、常见问题,提供可重用的代码模板(质量)
- 将一些复杂问题分解成简单问题(效率)
如何设计
- 为解决问题而使用设计模式
- 用简单的设计模式到复杂
- 适量调整,保持设计模式核心
解决了什么问题
- 针对对象创建过程中遇到问题的解决方案
- 针对类的继承,组合过程中遇到问题的解决方案
- 针对对象之间交互过程遇到的解决方案
三大类型
- 创建型
- 结构性
- 行为性
设计原则
1、高内聚、低耦合
2、单一职责原则
- 降低类的复杂度
- 提高可读性
- 提高维护性
- 降低变更引起的风险
3、开闭原则
- 提高代码可测性
- 提高代码可维护性
4、里式替换原则(子类替换父类)
定义
- 替换:所有引用父类都可以替换为子类
- 一致:子类替换父类的程序逻辑保持一致
结论
- 保证了行为正确性
- 提升了代码健壮性
5、依赖倒置原则
定义:
- 高层模块不应该依赖底层模块,两者都依赖其抽象
- 抽象不依赖细节
- 细节依赖于抽象
6、迪米特法则
定义:
至于朋友通信
不要和陌生人说话
结论
- 提高复用性
- 降低耦合性
7、接口隔离原则
原则:
- 不强迫使用不用的方法
- 识别使用者角色,设计小接口
结论
- 提高内聚,低耦合
- 提高灵活性和维护性