S (Single responsibility principle) 单一职责原则
O (Open-Closed principle) 开放封闭原则
L (Liskov Substitution principle) 里式替换原则
I (Interface-segregation principles) 接口隔离原则
D (Dependency inversion principle) 依赖反转原则
### 单一职责原则
官述 :
1.每一个类都应该实现唯一的功能
2.功能平行,类的服务要跟这个类保持平行,意味着没有依赖
白话 :
一个类的只做一件事,尽量保证每个函数只做一件事,多用组合,少用继承,减少耦合
### 开放封闭原则
官述 : 软件对象中的(类,对象,函数)对修改关闭,对扩展开放
白话 : 设计类/对象/函数的时候,不要写死,给别人留下扩展的空间,考虑面向接口编程等
### 里式替换原则
官述 :派生类(子类)一定能够替换父类对象被使用
白话 : 子类对象一定能够实现父类的所有功能
### 接口隔离原则
官述 :拆分臃肿的接口成为更小更细的接口,这些细小的接口也被称为角色接口
白话 : 对别人开放接口的时候,这个接口的事情做的事情要细,要么增加,要么减少,不要一个接口偷着做了N多件事
### 依赖反转原则
官述 :
在面向对象编程领域中,依赖反转原则(Dependency inversion principle,DIP)是指一种特定的解耦(传统的依赖关系创建在高层次上,而具体的策略设置则应用在低层次的模块上)形式,使得高层次的模块不依赖于低层次的模块的实现细节,依赖关系被颠倒(反转),从而使得低层次模块依赖于高层次模块的需求抽象。
该原则规定:
1.高层次的模块不应该依赖于低层次的模块,两者都应该依赖于抽象接口。
2.抽象接口不应该依赖于具体实现。而具体实现则应该依赖于抽象接口。
白话:
面向接口编程