Soren_Qin

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

单一职责原则 Single Responsibility Principle

  • 备受争议的原则,原因在于对职责的定义以及职责的划分
  • 适用于接口,类,方法
  • 定义:There should never be more than one reason for a class to change 应该有且仅有一个原因引起类的变更
  • 有点:类的负责性降低,可读性提高,可维护性提高,变更引起的风险降低
  • 事例:电话接口有3个方法,dial()和hangup()两个是协议管理,负责拨号和挂机。chat()实现是数据传递。协议管理的变化和数据传递的变化都会引起接口的变化,违背了SRP只能有一个原因引起类变化。需要把dial,hangup置于一个接口,chat另一个接口。
    srp
  • 建议:接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。即使是经验丰富的开发人员也很难保证自己设计的类都满足SRP,“This is sometimes hard to see”。
posted on 2019-01-01 15:20  Soren_Qin  阅读(137)  评论(0)    收藏  举报