原文取自大话设计模式,我这里将其长话短说。
单一职责原则:对于一个类而言,应该仅有一个引起它变化的原因,如果有多个原因引起其变化,那么需要将该类进行拆分。
通俗来讲,如果一个类承担的职责过多,就等于把这些职责耦合在一起,且其中一个职责的变化可能会削弱、或者抑制这个类完成其它职责的能力。
从代码角度讲,一个类里面提供的功能(方法)如果过多,那么其中一个方法的改变,就可能会影响类中的其他方法的使用。
这种类一般会拥有紧密的耦合性,会导致其设计很脆弱,其中一个环节发生变化,则会发生意外结果。
所以做软件开发的时候,首先要进行软件设计,就是将软件中不同类型的模块、或者是职责相互分离。
从开发角度看,不论是什么模块,归根到底都是类和方法,如果有多个需求或动机要修改这个类或这个类的方法,那么就首先要联想到单一职责,对其进行职责分离。
不对之处敬请指正!