在程序设计中,我们往往要遵循着六(七)个原则:
1、SRP单一职责原则(对某个类的规定):
就一个类而言,应该仅有一个引起它变化的原因。
避免一个类负责多个功能的实现,当发生更改时影响其他功能而致使复用成为不可能。
2、ISP接口隔离原则(对某个接口的规定):
使用多个隔离接口,比使用单个接口要好,这个与SRP
经常提到的降低耦合,降低依赖,主要也是通过这个原则来达到的
详解
3、LSP里氏替换原则(JAVA中本来就符合的):
派生类(子类)对象能够替换其基类(父类)对象被调用。
即在程序中,任何调用基类对象实现的功能,都可以调用派生类对象来替换。
4、DIP依赖倒置原则(对依赖什么的规定):
程序设计应该依赖抽象接口,而不应该依赖具体实现。
即接口编程思想,接口是稳定的,实现是不稳定的,一旦接口确定,就不应该再进行修改了。根据接口的实现,是可以根据具体问题和情况,采用不同的手段去实现。
5、合成/聚合复用原则(对依赖方式的规定):
在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分,新的对象通过这些对象的委派达到复用已有功能的目的。设计原则是:尽量使用合成/聚合,尽量不要使用继承。详解
6、迪米特法则(类之间要尽可能相互独立):
一个实体应当尽可能少的与其他实体之间发生相互作用。
7、OCP开闭原则(对程序扩展的规定):
程序的设计应该是不约束扩展,即扩展开放,但又不能修改已有功能,即修改关闭。