遵循单一职责原的优点有:
- 可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;
- 提高类的可读性,提高系统的可维护性;
- 变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。
需要说明的一点是单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都适用单一职责原则。
定义:一个类只负责一项职责
问题由来:类T负责两个不同的职责 职责p1 职责p2, 当职责p1需要修改类T时,有可能导致原本正常运行功能的职责p2功能运行失败
解决方案:遵循单一原则, 分别建立两个类T1、T2,使T1完成p1功能, T2完成p2功能,这样修改T1时,不会使职责p2发生故障风险,同理,当修改T2时,也不会使职责p1发生故障风险
职责扩散; 所谓职责扩散是指 因为某种原因,职责P被分散成粒度更细的职责p1和p2