设计模式02-1- 面向对象设计原则课件.ppt

设计模式02-1- 面向对象设计原则课件.ppt

ID:56963784

大小:4.42 MB

页数:62页

时间:2020-07-22

设计模式02-1- 面向对象设计原则课件.ppt_第1页
设计模式02-1- 面向对象设计原则课件.ppt_第2页
设计模式02-1- 面向对象设计原则课件.ppt_第3页
设计模式02-1- 面向对象设计原则课件.ppt_第4页
设计模式02-1- 面向对象设计原则课件.ppt_第5页
资源描述:

《设计模式02-1- 面向对象设计原则课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2-1章面向对象设计原则原著:刘伟修订:彭彬本章教学内容面向对象设计原则概述单一职责原则开闭原则里氏代换原则依赖倒转原则接口隔离原则合成复用原则迪米特法则面向对象设计原则概述软件的可维护性和可复用性知名软件大师RobertC.Martin认为一个可维护性(Maintainability)较低的软件设计,通常由于如下4个原因造成:过于僵硬(Rigidity):添加功能难过于脆弱(Fragility):易出故障复用率低(Immobility):效率黏度过高(Viscosity):影响复用RobertC.Martin什么是复用复用:Reuse,使用已有资源来促进产品开发的过程。软件

2、复用Softwarereuse,在两次或多次不同的软件开发过程中重复使用相同或相似软件成分的过程。可复用的软件成分称为软件构件,软件生产过程中任何活动所产生的制品均可复用项目计划可行性报告需求得以分析模型设计模型详细说明源程序测试用例常见的软件复用形式:函数库(结构化方法中的子程序)类库(面向对象方法中的子程序)工具箱(面向对象方法中的子程序):是一组相关的、可复用的类的集合,这些类提供了通用的功能。设计模式框架体系结构(架构)面向对象设计原则概述软件的可维护性和可复用性软件工程和建模大师PeterCoad认为,一个好的系统设计应该具备如下三个性质:可扩展性(Extensibi

3、lity):有了新的需求,新的功能很容易加到系统中,并且不影响原有的功能,也不带来新的缺陷.灵活性(Flexibility):代码修改容易(系统某一部分代码需要修改时不会破坏系统现有的结构,也不会影响到其它部分).可插入性(Pluggability):可以将系统中某些类替换为相同接口的其它类,并且系统不受影响。使系统满足上述性质,关键在于提高系统的可维护性与可复用性。可维护性:软件可维护性即维护人员对该软件进行维护的难易程度,具体包括理解、改正、改动和改进该软件的难易程度。可维护性可通过7个质量特性来衡量:可理解性可测试性可修改性可靠性可移植性可使用性效率PeterCoad可复

4、用性软件的复用(Reuse)或重用拥有众多优点,如可以提高软件的开发效率,提高软件质量,节约开发成本,恰当的复用还可以改善系统的可维护性。这里强调的复用是支持可维护性的复用。面向对象技术已经具备支持可维护性复用的基础:抽象、继承、封装、多态。抽象、继承支持类的定义可以复用;多态支持类的实现复用;抽象封装支持可维护性。在面向对象的设计里面,人们已经发现了一些设计原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。面向对象设计原则与设计模式设计模式是支持面向对象设计原则的设计方案,是贯彻面向对象设计原则的最好方式和途径面向对象设计原则、模式&软件重构重构(Re

5、factoring)是在不改变软件现有功能的基础上,通过调整程序代码改善软件的质量、性能。面向对象设计原则和设计模式是对系统进行合理重构的指南针,遵循面向对象设计原则和设计模式的软件产品易于重构。MartinFowler面向对象设计原则概述面向对象设计原则简介常用的面向对象设计原则包括7个,这些原则并不是孤立存在的,它们相互依赖,相互补充。设计原则名称设计原则简介重要性单一职责原则(SingleResponsibilityPrinciple,SRP)类的职责要单一,不能将太多的职责放在一个类中★★★★☆开闭原则(Open-ClosedPrinciple,OCP)软件实体对扩展是

6、开放的,但对修改是关闭的,即在不修改一个软件实体的基础上去扩展其功能★★★★★里氏代换原则(LiskovSubstitutionPrinciple,LSP)在软件系统中,一个可以接受基类对象的地方必然可以接受一个子类对象★★★★☆依赖倒转原则(DependencyInversionPrinciple,DIP)要针对抽象层编程,而不要针对具体类编程★★★★★接口隔离原则(InterfaceSegregationPrinciple,ISP)使用多个专门的接口来取代一个统一的接口★★☆☆☆合成复用原则(CompositeReusePrinciple,CRP)在系统中应该尽量多使用组合

7、和聚合关联关系,尽量少使用甚至不使用继承关系★★★★☆迪米特法则(LawofDemeter,LoD)一个软件实体对其他实体的引用越少越好,或者说如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用,而是通过引入一个第三者发生间接交互★★★☆☆单一职责原则单一职责原则定义单一职责原则(SingleResponsibilityPrinciple,SRP)定义如下:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。其英文定义为:Everyobjectshouldhave

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。