GoF之单一职责原则

一个开闭原则是设计模式的理想主义,所有的模式和原则都在向着那个方向靠近,就像是我们的共同目标——共产 主义一样。今天来看一个比较简单,也好理解,并且在生活中我们无意中常用的一个原则。

单一职责原则(SingleResponsibilityPrinciple)

定义:不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责,应该仅有一个引起它变化的原因

说到单一职责原则,就让我想到了GTD的核心理念——清空大脑,只做一件事。就是把自己的精力和时间投入到单一的事物上,就可以高效的完成,不会做这件事想着那件事。在软件编程中,谁也不希望因为修改一个功能导致其他的功能发生故障。而避免出现这一问题的方法便是遵循单一职责原则。虽然单一职责原则很简单,并且也很常见,但它却被列为设计模式六大原则之一也是有原因的吧?因为有职责分离。所谓职责分离,就是因为某种原因,职责P被分化为粒度更细的职责P1和P2。

遵循单一职责原的优点有:

1.可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;

2.提高类的可读性,提高系统的可维护性;

3.变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

需要说明的一点是单一职责原则不只是面向对象编程思想所特有的,只要是模块化的程序设计,都需要遵循这一重要原则。

一个简单例子说就是:一对一的关系,玩儿的时候就做玩儿的事,学习的时候就学习。

相关文章

迭代器模式(Iterator)迭代器模式(Iterator)[Cursor]意图...
高性能IO模型浅析服务器端编程经常需要构造高性能的IO模型,...
策略模式(Strategy)策略模式(Strategy)[Policy]意图:定...
访问者模式(Visitor)访问者模式(Visitor)意图:表示一个...
命令模式(Command)命令模式(Command)[Action/Transactio...
生成器模式(Builder)生成器模式(Builder)意图:将一个对...