单一职责基本概念
- 单一:单一意味着某些工作是独立的。比如,在类中,类方法仅完成某一件独立的事情。
- 职责:职责指软件系统中,每一个指派给特定方法、类、包和模块所完成的工作或者动作。
方法层面:类方法的单一职责是最单纯的,很具体的,不掺杂任何额外信息,只关心输入、输出、和职责。
类层面:一个类只围绕与一个功能,并且 引起其变化的原因只有一个。让一个类只负责一件事, 将关联性强的内容聚合到一个类中。
单一职责优点
- 降低了类的复杂度。
- 提高了代码的可读性。
- 提高了系统的可维护性。
- 变更引起的风险变低了。
灵活之处
对类职责的细分,“职责”和“变化原因”都是都要根据不同的项目、不同的环境来具体讨论。