解释
就一个类而言,应该仅有一个引起它变化的原因。
针对问题
类的功能太多,导致任何需求变化,都需要更改类,维护麻烦,难以复用,缺乏灵活性。
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭受到意想不到的破坏。
目的
软件设计真正要做的许多内容,就是发现职责并把哪些职责相互分离。
在编程时,在类的职责分离上多思考,做到单一职责。代码才是真正的易维护、易扩展、易复用、灵活多样。
判断依据
如果你能想到多于一个的动机取改变一个类,那么这个类就具有多以一个的职责,应该考虑职责分离。例如:界面和业务逻辑的分离