SRP:单一职责原则

SRP:单一职责原则

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

 

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

 

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

 

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

 

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

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

 

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

 

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值