在程序设计中,我们往往要遵循着六个原则:

1、单一职责原则:就一个类而言,应该仅有一个引起它变化的原因。
避免一个类负责多个功能的实现,当发生更改时影响其他功能而致使复用成为不可能。

2、里氏替换原则:派生类(子类)对象能够替换其基类(父类)对象被调用。
即在程序中,任何调用基类对象实现的功能,都可以调用派生类对象来替换。

3、依赖倒置原则:程序设计应该依赖抽象接口,而不应该依赖具体实现。
即接口编程思想,接口是稳定的,实现是不稳定的,一旦接口确定,就不应该再进行修改了。根据接口的实现,是可以根据具体问题和情况,采用不同的手段去实现。

4、接口隔离原则:使用多个隔离接口,比使用单个接口要好。
经常提到的降低耦合,降低依赖,主要也是通过这个原则来达到的

5、迪米特法则:一个实体应当尽可能少的与其他实体之间发生相互作用。

6、开闭原则:程序的设计应该是不约束扩展,即扩展开放,但又不能修改已有功能,即修改关闭。

7、合成/聚合复用原则:在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新的对象通过这些对象的委派达到复用已有功能的目的。设计原则是:尽量使用合成/聚合,尽量不要使用继承。

​https://zhuanlan.zhihu.com/p/140844323​