它的准确解释是,就一个类而言,应该仅有一个引起它 变化的原因
为什么要遵守单一职责原则?
通常 , 我们做事情都要知道为什么要这么做, 才回去做. 做的也有底气, 那么为什么我们要使用单一职责原则呢?
1、提高类的可维护性和可读写性 一个类的职责少了,复杂度降低了,代码就少了,可读性也就好了,可维护性自然就高了。
2、提高系统的可维护性 系统是由类组成的,每个类的可维护性高,相对来讲整个系统的可维护性就高。当然,前提是系统的架构没有问题。
3、降低变更的风险 一个类的职责越多,变更的可能性就越大,变更带来的风险也就越大
如果在一个类中可能会有多个发生变化的东西,这样的设计会带来风险, 我们尽量保证只有一个可以变化,其他变化的就放在其他类中,这样的好处就是 ** 提高内聚,降低耦合 **。
单一职责原则应用的范围
单一职责原则适用的范围有接口、方法、类。按大家的说法,接口和方法必须保证单一职责,类就不必保证,只要符合业务就行。
单一职责原则的优缺点
-
类的复杂性降低: 一个类实现什么职责都有清晰明确的定义了, 复杂性自然就降低了
-
可读性提高: 复杂性降低了,可读性自然就提高了
-
可维护性提高: 可读性提高了,代码就更容易维护了
-
变更引起的风险降低: 变更是必不可少的,如果接口的单一职责做得好,一个接口修改只对相应的实现类有影响,对其他的接口和类无影响,这对系统的扩展性、维护性都有非常大的帮助