单一职责原则
课本定义:单一职责原则(SRP)就一个类而言,应该仅有一个引起它变化的原因。
为什么要遵守单一职责原则
1、提高类的可维护性和可读写性
2、提高系统的可维护性
3、降低变更的风险
开闭原则
课本定义:开放-封闭原则,是说软件实体(类、模块、函数等等)可以可以扩展,但是不可以修改。
个人理解: 对于扩展是开放,对于修改代码关闭。
依赖倒转原则
课本定义:A.高层模块不应该依赖低层模块。两个都应该依赖抽象。
B.抽象不应该依赖细节。细节应该依赖抽象。
简单的说 就是要求对抽象进行编程,不要对实现进行编程,这样就降低了客户与实现模块间的耦合。
里式转换原则
课本定义:子类型必须能够替换掉它们的父类型。
可以理解为: 只要有父类出现的地方,都可以使用子类来替代。而且不会出现任何错误或者异常。但是反过来却不行。子类出现的地方,不能使用父类来替代。
接口隔离原则
- 客户端不应该依赖它不需要的接口
- 类间的依赖关系应该建立在最小的接口上
迪米特法则
课本定义:如果两个类不必直接通信,那么这两个类就不应该当发生直接的相互作用,如果其中一个类需要调用另一个类的某一个方法的话,可以通过第三者转发这个调用。
就是 不和陌生人说话。找一个中间人 去办事。