面向对象设计就是希望把代码的责任分解

定义

  • 就一个类而言,仅有一个引起它变化的原因
  • 即一个类只处理一件事情,一个职责
  • 一个类或模块应该有一个且只有一个理由去改变

优点

  1. 减少脆弱
  2. 更松耦合,高耦合导致高度依赖,难易维护
  3. 易维护
  4. 易测试调试

查看 SRP 是否被破坏

  • 类有太多依赖
  • 方法有太多参数
  • 类和方法行数太长,一般不超过 200-250
  • 在一个地方更改会影响另一个地方