面向对象的设计原则
面向对象的设计原则也被称为SOLID。SOLID原则包括单一职责原则、开闭原则、里氏替换原则、接口隔离原则和依赖倒置原则。
单一职责原则
单一职责原则:软件模块应该只有一个被修改的理由。在大多数情况下,编写Java代码时都会将单一职责原则应用于类。
开闭原则
开闭原则:模块、类和方法应该对扩展开放,对修改关闭。在构建一个复杂系统时,一旦完成了它的一部分,不应该再修改它,而是应该在它的基础上继续建设,通过继承和多态扩展来添加新功能。
里氏替换原则(LSP)
里氏替换原则:派生类型必须完全可替代其基类型。在设计模块和类时,必须确保派生类型从行为的角度来看是可替代的。
要点:
- 子类必须完全实现父类的方法
- 子类可以拥有自己的个性
- 重写或实现父类方法时输入参数可以被放大
- 重写或实现父类的方法时输出结果可以缩小
接口隔离原则
接口隔离原则:客户端不应该依赖它所不需要的接口。接口尽量细化,接口的方法尽量少。
依赖倒置原则
依赖倒置原则:高级模块不应该依赖低级模块,两者都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。可将依赖倒置原则理解为面向接口编程。
迪米特法则
迪米特法则又称最小知识原则,即一个对象应该对其他对象有最少的了解。核心观念是类间解耦,弱耦合。