定义:应该且仅有一个原因引起类的变更。
理解:
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力,
这种耦合会导致脆弱的设计。当变化发生时,设计会遭受到意想不到的破坏。
假如一个类A,有两个职责a,b,当职责a由于需求发生变化而需要修改时,有可能会导致职责b的功能发生故障。
解决:
将类中的职责分开,分别建立两个类。
如果是面向接口编程的话,就是将两个职责抽象成为两个不同的接口,原接口再实现这两个接口。
单一职责原则的好处:
1.类的复杂性降低
2.可读性提高
3.可维护性提高
4.变更引起的风险降低