目录
- 定义
- 作用及影响
- 示例
面向对象设计原则之开-闭原则
面向对象设计原则之里式替换原则
面向对象设计原则之依赖倒置原则
面向对象设计原则之单一职责原则
定义
单一职责原则 / 单一功能原则 (Single Responsibility Principle,SRP), 规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分。
原始定义:There should never be more than one reason for a class to change。
即:一个类应该只关心一种事情,解决一种问题。
作用及影响
如果代码不满足这个原则, 并不会导致大面积的代码重写, 只不过:
- 一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;
- 当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。
示例
一个工具类中包含多种工具方法,如果其中一个功能修改,此类就要进行修改。
我们可以进行修改,拆分成多个工具类,每个工具类中只关心一种类型的工具方法。
注意:单一职责同样也适用于方法。一个方法应该尽可能做好一件事情。如果一个方法处理的事情太多,其颗粒度会变得很粗,不利于重用。