1 单一职责原则:
指的是一个类对应一种职责,而不是一个类对应多个职责,实现类的职责要单一,尽量避免出现职责扩散的问题。
2 里氏替换原则:
指的是类之间的继承关系,子类不应该去修改父类中的内容,不能破坏继承体系,而是在子类中去扩展父类的功能。
3 依赖倒置原则:
指的是类之间的依赖关系,尽量避免直接依赖,通过定义一个接口,然后被依赖的类分别去实现这个接口中的所有方法,然后通过调用接口去拓展。
4 接口隔离原则:
指的是类之间的依赖当通过接口进行依赖的时候,可能会遇到接口中的有些方法并不需要,这样就会造成在被依赖的类中会实现这些不需要的方法,造成了冗余,因此将一个接口进行划分,尽量避免这种情况的出现,在设计接口的时候应该做到接口精简单一。
5 迪米特法则(又称最小知识法则):
指的是类之间的耦合性应该降低,低耦合高内聚。类与类之间的联系应该尽可能的去减少,类与类之间,里面的实现细节应该一个类对另一个类尽量做到内部实现隐藏,提供一个简单的接口去调用即可。
6 开闭原则:
指的是对扩展开放,对修改关闭。意思就是即对前面的五大原则进行的一个总结,前面的五大原则做的可以的话,整个软件的开闭原则就体现的越好。
7 补充设计原则有:
组合/聚合复用原则、无环依赖原则、共同封装原则,共同重用原则等。
综上所述,一个软件的设计应该遵循这么一句话:用抽象扩展框架,用实现扩展细节。