版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单一职责原则小组作品展示班号:java29组别:一组SingleResponsibilityPrinciple什么是单一职责原则英文缩写:SRP(SingleResponsibilityPrinciple)定义:应该有且只有一个原因引起类的变更.简单来说就是:一个类只负责一个功能.问题由来类class负责两个不同的职责:职责a1和职a2.当由于职责a1的需求发生改变而需要修改类class时,可能会导致原本运行正常的职责a2功能发生故障.代码分析:publicclassGraphArea{publicdoubleside;publicdoublehigh;publicdoublesetSide(doubleside){this.side=side;returnside;}publicdoublesethigh(doublehigh){this.high=high;returnhigh;}publicdoublecalculateArea(){return(side*high)/2;}publicvoidshow(){System.out.println(“三角形的面积="+this.calculateArea());}修改上述代码://计算方法接口publicinterfaceICal{publicvoidcal();}//边长类publicabstractclassSide{doubleside;doublehigh;publicdoublesetSide();publicdoublesetHigh();publicclassTsetextendsSideimplementsIcal{@overridepublicvoidcal(){}@overridepublicdoublesetSide(){}@overridepublicdoublesetHigh(){}怎样应用单一原则1.鉴别职责:每一个系统功能都表示了一个职责,这些职责可以映射到软件模块(类)中.应尽量保证这些类中没有功能的重复.设计中每次应只关注一个职责怎样使用单一职责原则2.信息隐藏:模块(类)拥有自己的公开接口.可以和其他模块通信.同时模块也包含了大量内部信息供自身使用.内部数据不是被彻底隐藏就是被筛选之后才能暴露给外部.这样每个模块仍然能够使用固定的接口和外部通信.而不会受到修改具体实现的影响.怎样使用单一职责原则3.持久化:
将持久,稳定的数据功能和频频变化的业务规则分离.这样持久化的方式就不会因为业务层的变化而频繁发生变化.使用单一职责原则的好处直接好处.1.降低类的复杂度.2.提高类的可读性,代码的复用性,灵活性以及系统的可维护性.间接好处:1.方便他人.2.有利自己.
单一职责原则的局限性1.职责扩散:比如类T只负责一个职责P,这样设计是符合单一职责原则的.后来由于某种原因需要将职责P细分为更细的职责P1和P2.如果要应用单一职责原则就要将类T拆分为T1和T2分别负责P1和P2,但是在程序已经写好的情况下.这样做可能会难以实现.单一职责原则的局限性2.职责缺少明确的划分标准:
如果把职责划分的太细,会导致接口和实现类的数量剧增,反而提高了复杂度,降低了代码的可维护性使用单一职
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 运矿排土工诚信道德强化考核试卷含答案
- 信托业务员安全专项模拟考核试卷含答案
- 股份有限公司教学设计中职专业课-经济法律法规-纳税事务-财经商贸大类
- 高中信息技术 全国青少年奥林匹克联赛教学设计 递推法二
- 2025-2026学年美术《折纸爱心》教案
- 2025-2026学年课程教学评价设计
- 2026年中欧班列运营人员考核题库附答案
- 2026下半年下半年小学美术教资面试欣赏评述题库
- 2026年跨文化交际能力实训测试题库
- 2026年广东省信宜市高二生物上册期末考试模拟卷附答案【模拟题】
- 2026年贵州省中考语文试题卷(含答案及解析)
- 护理思政课:以德为先培养新时代护士
- XX工程BIM应用实施方案
- 2026-2030中国血浆置换行业竞争现状与前景运行状况研究报告
- 循经拍背护理的护理发展
- 【2026】超星尔雅学习通《人人爱设计(山东大学)》章节测试及答案
- 箱梁架设培训课件
- 工程管理费合同范本
- 【初中政治】友谊的真谛+课件-2025-2026学年统编版道德与法治七年级上册
- 2024年新鲁教版九年级上册化学全册教学课件(新版教材)
- 2025年高考地理答题技巧与模板模板02 地球上的水(答题模板)(含答案或解析)
评论
0/150
提交评论