- 开闭原则(Open Closed Principle, OCP):一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。这意味着软件实体应尽量在不修改原有代码的情况下进行扩展。12
- 里氏代换原则(Liskov Substitution Principle, LSP):任何基类可以出现的地方,子类一定可以出现。这是继承复用的基石,只有当衍生类可以替换掉基类,软件单位的功能不受到影响时,基类才能真正被复用。13
- 单一职责原则(Single Responsibility Principle, SRP):一个类只负责一项职责。这有助于降低类的复杂性,提高可读性和可维护性。13
- 依赖倒置原则(Dependence Inversion Principle, DIP):高层模块不应该依赖低层模块,两者都应依赖其抽象。这降低了客户与实现模块间的耦合,提高了系统的稳定性。57
- 接口隔离原则(Interface Segregation Principle, ISP):客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。这有助于减少不必要的依赖,提高系统的灵活性。17
- 迪米特法则(Law of Demeter, LOD),又称最少知道原则:一个对象应该对其他对象保持最少的了解。这降低了类与类之间的耦合,减少了不必要的交互。1
这些原则是面向对象设计和编程中的重要指导原则,帮助开发者创建可维护、可扩展和稳定的软件系统。