1、单一职责原则(Single Responsibility Principle)

核心思想

定义
A class should have only one reason to change. ( 就一个类而言,应该仅有一个引起它变化的原因)

每一个职责都是变化的一个轴线(an axis of change)。当需求变化时,该变化会反映为类的职责变化。如果一个类承担了多于一个的职责,那么引起它变化的原因就会有多个。

如果一个类承担的职责过多,就等于把这些职责耦合在了一起。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生是,设计会遭到意想不到的破坏。

引用自:《Agile Software Development, Principles, Patterns, and Practices》

关于这句话中的 “类的变化” 是指什么,书中并没有给出明确的说明。从字面上来理解的话应该是指类的代码的修改。

那么单一职责的作用是什么呢?我认为主要有以下几点:

  1. 降低类的复杂度
  2. 使代码的可读性和可维护性提高。
  3. 降低业务的耦合度,使某项业务修改时只需要关注一个点,而不是整个业务链。(后面举例说明)
阅读更多