设计模式原则
* 开发/封闭原则
* 控制反转原则
* 接口隔离原则
* 单一职责原则
开发/封闭原则
类或对象及其方法对于扩展来说,应该是开放的,但是对于修改来说,应该是封闭的
控制反转原则
高层次的模块应该不依赖于低层次的模块,它们应该都依赖于抽象。细节应该依赖于抽象,而不是抽象依赖于细节
接口隔离原则
客户端不应该依赖于它们不需要使用的接口
单一职责原则
类的职责单一,引起类变化的原因单一
替换原则
子类可以扩展父类的功能,但不能改变父类原有的功能。它包含以下4层含义:
- 子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
- 子类中可以增加自己特有的方法。
- 当子类的方法重载父类的方法时,方法的前置条件(即方法的形参)要比父类方法的输入参数更宽松。
- 当子类的方法实现父类的抽象方法时,方法的后置条件(即方法的返回值)要比父类更严格。