一、单一职责原则
概念:
就一个类而言,应该仅有一个引起它变化的原因。
特点:
此原则使用与所有的模块化程序设计,一个类只负责一项职责,提高可读性、可维护性及可扩展性。
二、开放-封闭原则
概念:
软件实体(类、模块、等等)面向扩展开放,面向修改封闭。
特点:
扩展很好理解,但是要做到严格的封闭是很难的,最好把容易发生变化的部分抽象出来以隔离以后发生的同类变化。
三、依赖倒置原则
概念:
A、高层模块不应该依赖底层模块,两个都应该依赖抽象。
B、抽象不应该依赖细节,细节应该依赖抽象。
特点:
这里高层到底层,可以理解为业务→逻辑→数据层。面向接口编程。
四、里氏替换原则
概念:
子类必须能够替换掉它们的父类型。
特点:
类似Java中的继承、多态。
五、迪米特法则
概念:
如果两个类不必彼此直接通信,那么这连个类就不应当发生直接的项目作用。如果其中一个类需要调用另一个类的某一个方法,可以通过中间类转发这个调用。
特点:
松耦合,利于复用。
六、接口隔离原则
概念:
尽可能的提供小的接口,而不是大的接口。
特点:
降低依赖,降低耦合度。