一、单一职责原则(Single Responsibility Principle)
定义:一个类,应该仅有一个引起它变化的原因。
一个类中所包含的应该是一组相关性很高的方法和数据。
二、开闭原则(Open Close Principle)
定义:软件中的对象(类、函数等)应该对于扩展是开放的,而对于修改是封闭的。
三、里氏替换原则(Liskov Substitution Principle)
定义1:如果对于每一个类型为S的对象O1,都有类型为T的对象O2,使得以T定义的所有程序P在所有的对象O1都替换成O2时,程序P的行为没有发生变化,那么类型S是类型T的子类型。
定义2:所有引用基类的地方必须能透明地使用其子类的对象。
四、依赖倒置原则(Dependence Inversion Principle)
定义:高层次的模块不依赖于低层次模块的实现细节,依赖模块被颠倒了。
模块间的依赖应通过接口或抽象类产生,而实现类之间不发生直接的依赖关系。
五、接口隔离原则(Interface Segregation Principle)
定义1:客户端不应该依赖它不需要的接口。
定义2:类间的依赖关系应该建立在最小的接口上。
六、迪米特原则(Law of Demeter)
也称为最少知识原则(Least Knowledge Principle)
定义:一个对象应该对其他的对象有最少的了解。