您的位置:首页 > 编程语言 > C#

C#设计模式系列:单一职责原则(Single Responsibility Principle)

2014-06-23 16:46 337 查看
  1、单一职责原则的核心思想
  一个类应该有且只有一个变化的原因。

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

  单一职责原则将不同的职责分离到单独的类,每一个职责都是一个变化的中心。当需求变化时,这个变化将通过更改职责相关的类来体现。如果一个类拥有多于一个的职责,则这些职责就耦合到在了一起,那么就会有多于一个原因来导致这个类的变化。对于某一职责的更改可能会损害类满足其他耦合职责的能力。这样职责的耦合会导致设计的脆弱,以至于当职责发生更改时产生无法预期的破坏。

  在SRP中,把职责定义为变化的原因。

  3、单一职责原则的优点
  1>、可以降低类的复杂度,一个类只负责一项职责,其逻辑肯定要比负责多项职责简单的多;
  2>、提高类的可读性,提高系统的可维护性;
  3>、变更引起的风险降低,变更是必然的,如果单一职责原则遵守的好,当修改一个功能时,可以显著降低对其他功能的影响。

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



  5、单一职责原则重构
  业务规则和持久化两个职责应该分开,业务规则往往会频繁变化,而持久化的方式却不会如此频繁的变化,并且变化的原因也是完全不同的。

  对于违反这一原则的类需要进行重构,应用Façade模式或Proxy模式分离职责。

  6、使用单一职责原则的注意点
  1>、单一职责最难划分的就是职责。
  2>、单一职责原则提出了一个编写程序的标准,用职责和变化原因来衡量接口或类设计的是否优良,但是职责和变化原因都是不可度量的,因项目而异,因环境而异。
  3>、接口一定要做到单一职责,类的设计尽量做到只有一个原因引起变化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: