1.单一职责原则:
单一职责原则就如它的字面意思一样,就一个类而言,应该仅有一个引起它变化的原因。如果在一个类中的方法过多,承担的职责过多,就会导致它被复用的可能性变小。因此,只有将这些职责进行分离,将不同的职责封装在不同类中,才是单一职责原则的表现。
它注重的是实现高内聚,低耦合。
2.开闭原则:
软件的类,模块,函数等是可以扩展,但不可以修改的。它是面向对象设计的核心,可以通过继承,多态等来进行抽象,使程序的改动通过增加新代码,而不是更改现有的代码。
将具体的子类进行抽象,使其继承抽象类的方法,而在原有类中增加一个方法,是这个方法可以在客户端来设置实例化的具体对象,从而不行修改原有类的代码。
3.里氏替换原则:
子类型能够替换掉他们的父类型。只有当子类能够替换父类时,父类才能被复用,子类也才可以在父类基础上增加新的行为。
它是实现开闭原则的具体手段。
4.依赖倒转原则:
高层模块不应该依赖底层模块,两个都应该依赖抽象;抽象不应该依赖细节,细节依赖抽象。
针对接口编程,而不是针对实现编程。
5.迪米特原则:
两个类之间不必彼此直接通信,并且两个不应该发生直接的相互作用,如果其中一个类需要调用另一个类的某个方法时,应该通过第三者。
它强调的是类之间的松耦合,即低耦合。
6.接口隔离原则:
使用多个专门的接口,而不是用单一的总接口,客户端不应该依赖那些它不需要得接口。
接口定义有两种:
一是:接口是一个类型所提供的所有方法特征的集合,把接口理解成角色,一个接口代表一个角色,每个角色都有特定的接口,被称为“角色隔离原则”
二是:接口是狭义的特定语言,接口仅提供客户端需要的行为,因此应为客户端提供尽可能小的单独的接口,而不需要大的总接口,被称为“定制服务”。