SOLID 原则并非单纯的 1 个原则,而是由 5 个设计原则组成的,它们分别是:单一职责原则、开闭原则、里式替换原则、接口隔离原则和依赖反转原则,依次对应 SOLID 中的 S、O、L、I、D 这 5 个英文字母。
单一职责原则(Single Responsibility Principle)指一个类或者模块只负责完成一个职责(或者功能)。
每一个类,应该要有明确的定义,不要设计大而全的类,要设计粒度小、功能单一的类。
作用:避免将不相关的代码耦合在一起,提高了类或者模块的内聚性。
开闭原则(Open Closed Principle)指软件实体(模块、类、方法等)应该 对扩展开放、对修改关闭。
添加一个新的功能应该是,在已有代码基础上扩展代码(新增模块、类、方法等),而非修改已有代码(修改模块、类、方法等)。
作用:增加了类的可扩展性。
里式替换原则(Liskov Substitution Principle)指子类对象能够替换程序中父类对象出现的任何地方,并且保证原来程序的逻辑行为不变及正确性不被破坏。
接口隔离原则(Interface Segregation Principle)指接口的调用者不应该被强迫依赖它不需要的接口。
这一原则和单一职责原则有点类似,只不过它更侧重于接口。
依赖反转原则(Dependency Inversion Principle)指高层模块不要依赖低层模块。高层模块和低层模块应该通过抽象来互相依赖。除此之外,抽象不要依赖具体实现细节,具体实现细节依赖抽象。大白话就是面向接口编程,依赖于抽象而不依赖于具体。