1. 定义
单一职责原则是面向对象设计中的五大原则(SOLID)之一,由Robert C. Martin提出。它指出一个类应该只有一个引起它变化的原因,即一个类应该只负责一项职责。
2. 核心思想
职责:指的是类所承担的任务或功能。
单一:一个类应该只负责一个功能领域中的一项职责。
3. 优点
-
高内聚:类的职责单一,功能集中,代码更易理解和维护。
-
低耦合:职责分离后,类之间的依赖减少,修改一个类不会影响其他类。
-
可复用性:职责单一的类更容易在其他地方复用。
-
可测试性:职责单一的类更容易进行单元测试。
举例说明
假设我们有一个类 Report,它负责生成报告并将其打印出来。这个类违反了单一职责原则,因为它承担了两项职责:生成报告和打印报告。
违反SRP的代码:
class Repo