版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单一职责原则小组作品展示班号: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026上半年安徽事业单位联考马鞍山市博望区招聘21人考试参考题库及答案解析
- 2026福建南安市霞美镇中心幼儿园钟育分园春季招聘参考考试题库及答案解析
- 2026浙江温州市乐清市城卫清洁服务有限公司长期招聘备考考试试题及答案解析
- 2026广东广州市华南理工大学医院合同制人员招聘2人备考题库及一套参考答案详解
- 2025山东菏泽市定陶区奇诺双语实验学校教师招聘备考题库完整答案详解
- 2026春季福建泉州市石狮市后垵学校招聘编外合同教师备考考试题库及答案解析
- 2026上半年贵州事业单位联考省科学技术协会招聘3人备考考试题库及答案解析
- 2026北京大兴区泰合宏远企业管理有限公司招聘劳务派遣人员1人备考考试试题及答案解析
- 2026海南琼海市现代农业发展投资有限公司招聘4人(第1号)备考考试试题及答案解析
- 2026年临沂蒙阴县部分事业单位公开招聘综合类岗位工作人员备考题库(18名)及答案详解一套
- 2026年乡村医生传染病考试题含答案
- 金属厂生产制度
- 2026安徽淮北市特种设备监督检验中心招聘专业技术人员4人参考题库及答案1套
- 新零售模式下人才培养方案
- 上海市徐汇区2026届初三一模化学试题(含答案)
- 2025年航空行业空客智能制造报告
- 预中标协议书电子版
- 龟的解剖课件
- 蒙牛乳业股份有限公司盈利能力分析
- 2025民航西藏空管中心社会招聘14人(第1期)笔试参考题库附带答案详解(3卷合一版)
- (新教材)2026年人教版八年级下册数学 21.2.1 平行四边形及其性质 课件
评论
0/150
提交评论