单一职责原则演示_第1页
单一职责原则演示_第2页
单一职责原则演示_第3页
单一职责原则演示_第4页
单一职责原则演示_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

单一职责原则小组作品展示班号: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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论