单一职责原则(Single Responsibility Principle):类应该仅具有一种单一功能,并且该功能应该由这个类完全封装起来。如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化就可能抑制或者削弱这个类完成其他职责的能力。
开放封闭原则(Open Close Principle):类、模块、函数等等应该是对于扩展开放的,但是对于修改封闭的。代码写好之后就不应该去修改它,而是以扩展的方式适应新需求。
里氏替换原则(Liskov Substitution Principle):类应该是可以在不改变程序正确性的前提下被它的子类所替换的。子类可以扩展父类的功能,但不能改变父类原有的功能。
接口隔离原则(Interface Segregation Principles):接口端不应该依赖它不需要的接口,一个类对另一个类的依赖应该建立在最小的接口上。
依赖反转原则(Dependency Inversion Principle):高层次的模块不应该依赖于低层次的模块,两者都应该依赖于抽象接口。抽象接口不应该依赖于具体实现,而具体实现则应该依赖于抽象接口。
SOLID是由罗伯特·马丁(Robert Cecil Martin)在21世纪早期引入的记忆术首字母缩略字,指代了面向对象编程和面向对象设计的五个基本原则。
单一职责、开放封闭、里氏替换、接口隔离、依赖反转