单一职责原则(Single Responsibility Principle SRP)
There should never be more than one reason for a class to change.
什么意思呢?
所谓单一职责原则就是
一个类只负责一个职责,只有一个引起变化的原因。
如果一个类承担的职责过多,就等于把这些职责耦合在一起,一个职责的变化会削弱或抑制这个类完成其他职责的能力,这个耦合会脆弱的设计。
软件设计真正要做的许多内容,就是
发现职责并把这些职责相互分离;如果能够想到多于一个动机去改变一个类,那么这个类就具有多于一个职责,就应该考虑类的分离。
以调制解调器为例如下图:
从上述类图里面我们发现有四个方法Dial(拨通电话),Hangup(挂电话),Receive(收到信息),Send(发送信息),经过分析不难判断出,实际上Dial(拨通电话)和Hangup(挂电话)是属于连接的范畴,而Receive(收到信息)和Send(发送信息)是属于数据传送的范畴。这里类包括两个职责,显然违反了SRP。
这样做有潜在的隐患,如果要改变连接的方式,势必要修改Modem,而修改Modem类的结果导致凡事依赖Modem类可能都需要修改,这样就需要重新编译和部署,不管数据传输这部分是否需要修改。
因此要重构Modem类,从中抽象出两个接口,一个专门负责连接,另一个专门负责数据传送。依赖Modem类的元素要做相应的细化,根据职责的不同分别依赖不同的接口。如下图:
这样以来,无论单独修改连接部分还是单独修改数据传送部分,都彼此互不影响。
总结单一职责优点:
降低需求变化带来的风险。需求变化是不可避免的,如果单一职责做的好,一个接口修改只对相应的实现类有影响,对其它的接口无影响,这对系统的扩展性和维护性都有很大的帮助。
原文链接:
http://www.cnblogs.com/shaosks/archive/2012/02/02/2335478.html
- 大小: 16.6 KB
- 大小: 40.4 KB
分享到:
相关推荐
盈余重述概念辨析,陈丽英,,近年来,财务报告盈余重述现象越来越频繁,学术界并没有对重述给出统一明确的概念界定。本研究梳理了重述的定义,并对相关概念如
——基于关联交易的错报动机分析[J].管理评论,2022,3 4(11):289-302. [2]马晨,张俊瑞,杨蓓.财务重述对会计师事务所解 聘的影响研究[J].会计研究,2016(05):79-86+96. [3]马晨, 冯均科.审计费用、审计任期与会计错报的...
近年来,由于先前发布的财务报告中的信息错误或误导,上市公司在财务报表重述方面变得越来越普遍。 财务重述也已成为会计研究的热点。 通过回顾近年来的财务报表重述,总结了财务报表重述的成因和后果,财务重述的...
A公司财务重述案例研究.doc
上市公司财务重述数据2000-2022重述年度次数会计差错进行更正和披露 包括重述年度,重述次数 财务重述数据 含原始数据、计算代码、计算结果、参考文献 计算说明 使用财务重述公告中所更正年报对应的年度作为财务...
我国疑罪从无的理论省察及规则重述.docx
包括标题、重述对象、年度、公告日期、重述类型、金额、会计科目、发起方等1 5+指标的原始数据!附件内所有文件均包括xls、dta格式数据,无偿赠送您非常详 细的变量说明文件与权威参考文献!上市公司财务重述指标多...
财务重述动因研究述评,陈丽英,,近年来日趋频繁的财务重述受到了投资者、学术界及监管当局的广泛关注。探究财务重述的深层次动因,寻求减少重述、遏制财务欺诈的
有关电阻器、电容器、电感线圈、晶体管等元器件的用途、类别、使用方法等内容可以点击本文相关文章下的各个链接,本文只把电路图中常出现的各种符号重述一遍,希望初学者熟悉它们,并记住不忘。
财务重述 计算说明 使用财务重述公告中所更正年报对应的年度作为财务重述的年度, 若企业年报中发生财务重述取1,否则取0。 本示例的财务重述是指上市公司对以前年度 财务报表中的会计差错进行更正和披露,不包括...
描述了能源互联网使能源电力企业发展环境更加复杂多变。传统能源电力企业如何获得新的增长动力,国外企业在做什么? 中国能源电力企业新旧动能如何切换,需要哪些新能力?
基本权利sub理论重述解读.docx
数学建模结课问题的重述论文.doc
财务重述对房地产供应链资源配置影响实证研究,孙书容,邱玉莲,已有的研究表明,财务重述可能会在行业内引发负面的
埃森哲:与未来对标,能源互联网价值重述及海外应用解析
2021年数字能源研究报告:与未来对标 — 能源互联网价值重述及海外应用解析.pdf
上市公司高管薪酬与财务重述的相关性研究,刘莎,胡南薇,关于高管薪酬对高管的激励作用,学术界现有的研究已经较为全面。不少学者研究发现,对高管薪酬的不同设计可以影响高管工作的积极
这是为 2019 年秋学期计算机图形学课程的大作业编写的系统报告,包含进度报告、算法重述和应用设计三个部分。大作业中实现了图元的生成和编辑算法,实现文件交互和用户交互接口。应用设计上,我完成了满足文件接口...
题目不重述了。 小菜一枚,思路还是比较欠缺,按照leetcode题解的精选,用python写了一下。加深理解吧。 按行接雨水: 思路:首先寻找数组的最大值,即最多一共有几行。然后分别求每一行的雨水量。 从第一行开始,...
高管团队特征对财务重述的影响--基于沪市A股上市公司数据,司丽华,胡南薇,随着我国市场经济的迅速发展,资本市场发展也突飞猛进,而会计造假现象也屡见不鲜。本文着重研究上市公司高管团队特征对上市公司