1. 单一职责原则(Single Responsibility principle,简称 SRP)
SRP的定义:就一个类而言,应该仅有一个引起它变化的原因。
很多时候,所谓的单一是要根据个人经验来界定,没有一个统一的标准。
2. 开闭原则(Open Close Principle,简称 OCP)
OCP定义是:软件中的对象(类、模块、函数等)应该对于扩展是开放的,但是对于修改是封闭的。
3. 里氏替换原则(Liskov Substitution Principle,简称 LSP)
LSP的定义是:所有引用基类的地方必须能透明地使用其子类的对象。
4. 依赖倒置原则(Dependence Inversion Principle,简称 DIP)
DIP的定义为:一种特定的解耦形式,使得高层次的模块不依赖于低层次的模块的实现细节的目的,依赖模块被颠倒了。
要理解这个定义,得注意一下三点:
- 高层模块不应该依赖低层次模块,两者都应该依赖其抽象;
- 抽象不应该依赖细节;
- 细节应该依赖抽象。
5. 接口隔离原则(Interface Segregation Principle,简称 ISP)
ISP的定义为:客户端不应该依赖它不需要的接口(或者说:类之间的依赖关系应该建立在最小的接口上)。
6. 最少知识原则(Least Knowledge Principle,简称 LKP)
LKP的定义为:一个对象应该对其他对象有最少的了解。
注:这是简单的学习笔记,后期如果有时间再详细解释。