上一个开闭原则是设计模式的理想主义,所有的模式和原则都在向着那个方向靠近,就像是我们的共同目标——共产 主义一样。今天来看一个比较简单,也好理解,并且在生活中我们无意中常用的一个原则。
单一职责原则(SingleResponsibilityPrinciple)
定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责,应该仅有一个引起它变化的原因
说到单一职责原则,就让我想到了GTD的核心理念——清空大脑,只做一件事。就是把自己的精力和时间投入到单一的事物上,就可以高效的完成,不会做这件事想着那件事。在软件编程中,谁也不希望因为修改了一个功能导致其他的功能发生故障。而避免出现这一问题的方法便是遵循单一职责原则。虽然单一职责原则很简单,并且也很常见,但它却被列为设计模式六大原则之一也是有原因的吧?因为有职责分离。所谓职责分离,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。
遵循单一职责原的优点有:
1.可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;
2.提高类的可读性,提高系统的可维护性;
3.变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。
需要说明的一点是单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都需要遵循这一重要原则。
用一个简单例子说就是:一对一的关系,玩儿的时候就做玩儿的事,学习的时候就学习。