1、依赖倒置原则(DIP )
·高层模块(稳定)不应该依赖于低层模块(变化),二者都应该依赖于抽象稳定)。
·抽象(稳定)不应该依赖于实现细节(变化),实现细节应该依赖于抽象(稳定)。
2、开放封闭原则( OCP )
·对扩展开放,对更改封闭。
·类模块应该是可扩展的,但是不可修改。
3、单一职责原则(SRP )
一个类应该仅有一个引起它变化的原因。
·变化的方向隐含着类的责任。我感觉就是一个类的方法不能有太多,方法太多也就是责任太多,不宜与扩展。
4、Liskov替换原则( LSP )
·子类必须能够替换它们的基类(IS-A)。
继承表达类型抽象。我理解的是父类中的方法,之类根本就有很多用不上,那就违背了找个原则
5、接口隔离原则(ISP )
·不应该强迫客户程序依赖它们不用的方法。
·接口应该小而完备。
6、优先使用对象的组合,而不是继承
对象组合也就是比如classA里面放一个ClassB的指针这样。因为父类给子类暴露的接口其实是很多的,破坏了封装。
7、面向接口的原则
程序是不需要知道对象的类型,只需要知道接口,实现高内聚,低耦合。