优化代码的第一步——单一职责原则
SRP
单一职责原则的英文名称是Single Responsibility Principle,缩写是SRP。
定义
就一个类而言,应该仅有一个引起它比那话的原因。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。
让程序更稳定、更灵活——开闭原则
OCP
开闭原则的英文全称是Open Close Principle,缩写OCP。
定义
软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。
构建扩展性更好的系统——里氏替换原则
LSP
里氏替换原则的英文全称是:Liskov Substitution Principle,缩写是LSP。
定义
所有引用基类的地方必须能透明的使用其子类对象。
让项目拥有变化的能力——依赖倒置原则
DIP
依赖倒置原则的英文全称是Dependence Inversion Principle,缩写是DIP。
定义
指代了一种特定的解耦形势,使得高层次的模块不依赖于低层次的模块的实现细节的目的,依赖模块被颠倒了。
在Java语言中的表示就是:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或者抽象类实现的。
系统有更高的灵活性——接口隔离原则
ISP
接口隔离原则的英文全称是Interface Segregation Principle,缩写是ISP。
定义
客户端不应该依赖它不需要的接口,换一种说法就是,类剑的依赖关系应该建立在最小的接口上。
更好的可扩展性——迪米特原则
LOD
迪米特原则的英文全称是Law Of Demeter,缩写是LOD,也称为最少知识原则(Least Knowledge Principle)。
定义
一个对象应该对其他对象有最少的了解。
SOLID原则
Bob大叔将前5种原则定义为SOLID原则。