1. 单一职责原则 (SRP: Single Responsibility Principle)
定义:一个类应该仅有一个引起它变化的原因。
- 核心思想:每个类只负责一件事。
- 优点:
- 降低类的复杂度。
- 提高系统的可读性和可维护性。
- 减少变更引起的风险。
2. 开放封闭原则 (OCP: Open-Closed Principle)
定义:软件实体(类、模块、函数等)应该对扩展开放,对修改关闭。
- 核心思想:通过增加新功能扩展类的行为,而不是修改已有代码。
- 实现方式:通过抽象类或接口进行扩展。
3. 里氏替换原则 (LSP: Liskov Substitution Principle)
定义:子类对象可以替换父类对象,而不影响程序的功能。
- 核心思想:确保子类行为与父类保持一致,不破坏继承体系。
- 关键点:不要重写父类的行为以破坏其预期。
4. 接口隔离原则 (ISP: Interface Segregation Principle)
定义:不应该强迫一个类实现它用不到的接口。
- 核心思想:接口要小而专,用多个小接口代替一个大而全的接口。
- 优点:减少类的实现负担,提高代码灵活性。
5. 依赖倒置原则 (DIP: Dependency Inversion Principle)
定义:高层模块不应该依赖于低层模块,二者都应该依赖于抽象。
- 核心思想:面向接口编程,而不是面向实现编程。
- 优点:减少模块间的耦合,提高代码可维护性和扩展性。
6. 迪米特法则 (LoD: Law of Demeter)
定义:一个对象应该只与它直接的朋友交谈,不要和陌生人说话。
- 核心思想:降低对象之间的耦合度。
- 实现方式:尽量减少对其他对象细节的直接调用。