单一职责原则(Single Responsibility Principle,SRP)

版权声明: https://blog.csdn.net/qq_42499188/article/details/84951106

一、单一职责原则核心思想

一个类应该有且只有一个变化的原因。

二、为什么引入单一职责原则

单一职责原则将不同的职责分离到单独的类,每一个职责都是一个变化的中心。

  在SRP中,把职责定义为变化的原因。当需求变化时,将通过更改职责相关的类来体现。如果一个类拥有多于一个的职责,则多个职责耦合在一起,会有多于一个原因来导致这个类发生变化。一个职责的变化可能会影响到其他的职责,另外,把多个职责耦合在一起,影响复用性。

三、 单一职责原则的优点

  1. 降低类的复杂度;
  2. 提高类的可读性,提高系统的可维护性;
  3. 降低变更引起的风险(降低对其他功能的影响)。

四、单一职责原则实现

单一职责原则关键点:要求接口的职责单一,从而实现该接口的类的职责单一。

单一职责原则实现

Socket实现类的职责分离

  IDataChannel职责:数据通信

  IConnection职责:连接管理

  SocketImplementation:两个职责耦合,这不是所希望的,但或许是必要的。

五、使用单一职责原则的注意点

  1. 单一职责最难划分的是职责。
  2. 单一职责原则提出标准:用职责和变化原因来衡量接口或类设计的是否优良,但是职责和变化原因都是不可度量的,因项目、环境而异。
  3. 接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。

(深入解析单一职责原则请参考:https://www.cnblogs.com/DreamDrive/p/4632370.html

猜你喜欢

转载自blog.csdn.net/qq_42499188/article/details/84951106
今日推荐