SOLID 是 面向对象编程 和 面试对象设计 的五个基本原则,应用这五个原则能创建一个易于维护和扩展的软件系统。SOLID 可以指导代码重构和在迭代的过程中进行代码清扫,以使得软件源代码清晰可读和具有良好的扩展性。在测试驱动开发中是典型应用场景,并且也是敏捷开发和自适应软件开发基本原则的重要组成部分。
首字母-简写(全称) | 指代 | 概念 |
---|---|---|
S-SRP(Single Responsibility Principle) | 单一功能原则 | 对象应该仅具有一种单一功能 |
O-OCP(Opened Closed Principle) | 开闭原则 | 软件应该是对于扩展开放的,但对于修改封闭的 |
L-LSP(Liskov Substitution Principle) | 里氏替换原则 | 程序中的对象应该是可以在不改变程序正确性的前提下被他的子类所替换 |
I-ISP(Interface Segregation Principle) | 接口隔离原则 | 多个特定客户端接口要好于一个宽泛用途的接口 |
D-DIP(Dependency Inversion Principle) | 依赖反转原则 | 一个方法应该遵从「依赖于抽象而不是一个实例」 |