开闭原则(Open Close Principle)
对扩展开放,对修改封闭。
该设计原则要求在程序要进行扩展的时候,不去修改原有代码,而是通过扩展新代码来实现。这样的程序代码非常易于维护和升级。
单一原则
每个类应该实现单一的职责。
如果某类多于一个职责,就应该对其进行拆分。
里氏替换原则(Liskov Substitution Principle)
基类出现的地方,都可以用子类来替换,而程序不会出错或者异常。
里氏替换原则其实是对开封原则的扩展。如果子类不能完整地实现父类的方法,或者父类的某些方法在子类中已经发生“畸变”,则建议断开父子继承关系,转而采用依赖、聚合、组合等关系代替继承。
依赖倒转原则(Dependence Inversion Principle)
面向接口编程,抽象不能依赖于细节,细节能依赖于抽象。
接口隔离原则(Interface Segregation Principle)
每个接口不存在子类用不到却必须实现的方法,否则就将接口拆分成相互功能隔离的接口。
迪米特原则(Demeter Principle)
一个类对自己依赖的类知道的越少越好。
合成复用原则(Composite Reuse Principle)
尽量用合成或聚合方式,而不是使用继承。