微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SRP:单一职责原则

SRP:单一职责原则

1.定义:一个类应该只有一个发生变化的原因。

2.分析:如果一个累承担了多于一个的职责,那么引起它变化的原因就会有多个,就等于把这些职责耦合在了一起。一个职责的变化可能会削弱或者抑制这个类完成其他职责的能力。这种耦合会导致脆弱的设计,当变化发生时,设计会遭到意想不到的破坏。

3.定义职责:在SRP中,我们把职责定义为变化的原因,如果你能想到多于一个的动机去改变一个类,那么这个类就有多于一个的职责,应该想办法分离开来。

4.实例:新建一个Rectangle类,该类包含两个方法一个用于把矩形绘制在屏幕上,一个方法用于计算矩形的面积。如图

Rectangle类违反了SRP原则。Rectangle类具有两个职责,如果其中一个改变,会影响到两个应用程序的变化。

一个好的设计是把两个职责分离出来放在两个不同的类中,这样任何一个变化都不会影响到其他的应用程序。

5.持久化:下图展示了一种常见的违反SRP的清新。Employee类包含了业务规则和对于持久化的控制。业务规则往往会频繁的变化,而持久化的方式却不会频繁变化,并且变哈ude原因也是完全不同,所以把业务规则和持久化子系统放在一起的做法是绝对不应该的。

6.结论:SRP是所有原则中最简单的原则之一,也是最难正确运用的原则之一。我们会不由的把职责以组的方式形成一个类,其实软件设计真正要做的许多工作就是发现职责并把那些职责相互分离。

原文地址:https://www.jb51.cc/javaschema/285481.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐