VanTYS 2020-01-04
单一职责原则
单一职责原则(SRP:Single responsibility principle)又称单一功能原则,单一职责原则规定:一个类应该只有一个发生变化的原因(There should never be more than one reason for a class to change)。所谓职责是指类发生变化的原因。
如果一个类承担的职责过多,职责间可能会相互耦合。一个职责的变化可能会对其他职责造成影响。想要避免这种现象的发生,就要尽可能的遵守单一职责原则。
单一职责原则的核心是职责解耦和增强类的内聚性。
单一职责原则的本意是限制一个类不要承担太多职责,如果一个类承担了太多的职责,将至少存在以下缺点:
1. 职责耦合度高。一个类承担多个职责,这些职责很可能会耦合在一起,一个 职责的改变,可能会影响到其他职责。
2. 类的复用性低。粒度越大的类,复用性越低。
3. 职责调用成本高。当客户端需要该对象的某一个职责时,不得不将其他不需 要的职责全都包含进来,从而造成冗余代码或代码的浪费。
遵循单一职责原则在软件系统中具有下列作用:
单一职责原则是最简单但又最难运用的原则,需要设计人员发现类的不同职责并将其分离,再封装到不同的类或模块中。而发现类的多重职责需要设计人员具有较强的分析设计能力和相关重构经验。
一个方法应该尽可能做好一件事情,如果一个方法处理的事情太多,其颗粒度将变得很大,不利于重用。