面向对象的六大原则

时间:2022-05-24 17:27:07

优化代码的第一步——单一职责原则

SRP

单一职责原则的英文名称是Single Responsibility Principle,缩写是SRP。

定义

就一个类而言,应该仅有一个引起它比那话的原因。简单来说,一个类中应该是一组相关性很高的函数、数据的封装。

让程序更稳定、更灵活——开闭原则

OCP

开闭原则的英文全称是Open Close Principle,缩写OCP。

定义

软件中的对象(类、模块、函数等)应该对于扩展是开放的,对于修改是封闭的。

构建扩展性更好的系统——里氏替换原则

LSP

里氏替换原则的英文全称是:Liskov Substitution Principle,缩写是LSP。

定义

所有引用基类的地方必须能透明的使用其子类对象。

让项目拥有变化的能力——依赖倒置原则

DIP

依赖倒置原则的英文全称是Dependence Inversion Principle,缩写是DIP。

定义

指代了一种特定的解耦形势,使得高层次的模块不依赖于低层次的模块的实现细节的目的,依赖模块被颠倒了。
在Java语言中的表示就是:模块间的依赖通过抽象发生,实现类之间不发生直接的依赖关系,其依赖关系是通过接口或者抽象类实现的。

系统有更高的灵活性——接口隔离原则

ISP

接口隔离原则的英文全称是Interface Segregation Principle,缩写是ISP。

定义

客户端不应该依赖它不需要的接口,换一种说法就是,类剑的依赖关系应该建立在最小的接口上。

更好的可扩展性——迪米特原则

LOD

迪米特原则的英文全称是Law Of Demeter,缩写是LOD,也称为最少知识原则(Least Knowledge Principle)。

定义

一个对象应该对其他对象有最少的了解。

SOLID原则

Bob大叔将前5种原则定义为SOLID原则。