- 单一职责原则
- 接口隔离规则(ISP)
- 依赖倒转原则(DIP)
- 里氏替换原则(LSP)
- 开闭原则(OCP)
- 迪米特法则(LoD)
- 合成复用原则(CARP)
1、单一职责原则
2、接口隔离原则(ISP)
客户端不应该依赖她不需要的接口,即一个类对另一个类的依赖应该建立在最小的接口上。
3、依赖倒转原则(DIP)
要依赖抽象,不要依赖实现
即高层模块不应该依赖底层模块,二者都应该依赖其抽象
抽象不应该依赖细节,细节应该依赖抽象
依赖倒转的中心思想是面向接口编程
相对于细节的多边性,抽象的东西要稳定的多
:::info
注:依赖关系传递的三种方式和应用案例
接口传递 构造方法传递 setter方式传递
:::
4、里氏替换原则(LSP)
一个软件实体如果使用的是一个基类的话,那么一定适用期其子类。
5、开闭原则(OCP)
一个软件实体应当对扩展开放,对修改关闭。
即在设计一个模块的时候,应当使这个模块可以在不修改的前提下被扩展。
实现”开闭原则”的关键步骤就是抽象化
6、迪米特法则(LoD)
又叫作最少知识原则
一个软件实体应当与尽可能少的其他实体发生相互作用。
7、合成复用原则(CARP)
要尽量使用合成/聚合,而不是继承关系达到复用的目的。
总结
这 7 种设计原则是软件设计模式必须尽量遵循的原则,各种原则要求的侧重点不 同。其中,
【开闭原则】是总纲,它告诉我们要【对扩展开放,对修改关闭】;
【里氏替换原则】告诉我们【不要破坏继承体系】;
【依赖倒置原则】告诉我们要 【面向接口编程】;
【单一职责原则】告诉我们实现【类】要【职责单一】;
【接 口隔离原则】告诉我们在设计【接口】的时候要【精简单一】;
【迪米特法则】告 诉我们要【降低耦合度】;
【合成复用原则】告诉我们要【优先使用组合或者聚合 关系复用,少用继承关系复用】。