所谓单一职责就是:就一个类而言,应该仅有一个原因能引起他的变化
举个栗子:
如果在Servlet 中 编写 过多的业务逻辑代码 如:连接数据库 ,处理业务逻辑等等~,
sdp.png
IDataChannel职责:数据通信
IConnection职责:连接管理
SocketImplementation:两个职责耦合,这不是所希望的,但或许是必要的
如果一个类的职责过多,就等于把这些 职责联系到一起,一个职责的变化可能会引起另一个职责的变化,或者是抑制另一个 职责的能力,这种设计 是十分脆弱的。
优点:
降低类的复杂度。
降低类的可读性,提高系统的维护性
降低系统变化引起的风险。