多媒体-第二讲-类图 (2)课件_第1页
多媒体-第二讲-类图 (2)课件_第2页
多媒体-第二讲-类图 (2)课件_第3页
多媒体-第二讲-类图 (2)课件_第4页
多媒体-第二讲-类图 (2)课件_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

面向对象的分析与设计课程学习的内容OO设计原则UML设计图及RoseRational工具OO设计模式典型项目的分析与设计学习方法掌握主要OO原则的原理和应用要点改变java编程习惯学会设计Rational工具的使用;掌握类图、用例图、顺序图、活动图的设计熟练掌握MVC设计方法熟练掌握数据库编程深化了解API,深化基于API的编程反复实践典型模式应用于项目的分析和设计考核基于典型项目的考察:项目的分析与方案设计UML典型图项目代码中基本原则的应用项目设计中模型的使用OOP编程要点

OOP追求的目标:可用性、完整性、健壮性、有效性、可伸缩性、可读性、可重用性、简洁性、可维护性、可扩充行OOP典型特点:封装性、继承性、重载、属性和修饰符、多态、重构、抽象类接口、集合、泛型、委托与事件实现一个最简单的实例计算立体型几何体体积要点:分析其中的耦合性、程序的复用性“脏代码”分析单一职责原则(SRP原则)就一个类而言,应该只有一个引起它变化的原因;失败的案例:界面处理类+数据库操作+文件读写+业务流程控制类比:多功能手机、集成主板的电脑—坏一处就全坏经验:类的设计倾向于越小越好解释:如果一个类承担的职责过多,就等于把这些职责耦合在一起。一个职责的变化可能会引起消弱或抑制这个类完成其他职责的功能。这种耦合会导致脆弱的设计。当变化发生时,设计会遭到意想不到的破坏。开-闭原则(核心原则)软件实体(类、模块、方法)应该可以扩展,但不可以修改;换个说法:类对扩展是开放的,对修改是封闭的;用extends和implements等开放,用private封闭实际使用:1.随时准备修改:改变是合理的;2.原来的代码一般不要改动,合理的方法是基于原先的代码产生新的类3.设计之初就准备好应对变化,用抽象来隔离变化,减少耦合。开-闭原则的运用:写一个相对固定的内核;不断产生新的类,当修改发生时;新的类给予接口或抽象类创建;理解:面向接口编程依赖倒转原则抽象不应该依赖于细节,细节应该依赖于抽象;----针对接口编程,不要对实现编程解释:1.高层类不应该依赖低层类;两者都应依赖于抽象;2.抽象不应该依赖细节;细节应该依赖抽象反转实例:电话指挥修电脑,谁依赖谁?抽象与实现:电脑主板-总线插槽-PIC卡的实例—抽象不依赖细节,细节依赖抽象。依赖止于接口--用接口消除强耦合AB依赖AB依赖I依赖用接口消除强耦合OO的基本原则89、面向对象的基本设计原则

1)LSP(TheLiskovSubstitutionPrinciple):Liskov替换原则

子类不能添加任何父类没有的附加约束。子类对象必须可以替换基类对象。

在可能的情况下,由抽象类(接口)继承。

抽象类与具体类

只要有可能,不要从具体类继承;

行为集中的方向是向上的(抽象类);

数据集中的方向是向下的(具体类)。

2)OCP(TheOpen-ClosePrinciple):开放-封闭原则

对于扩展是开放的(Openforextension)

对于更改是封闭的(Closedformodification)

关键在于抽象

抽象预见了可能的所有扩展(闭)

由抽象可以随时导出新的类(开)

OCP是OOD中很多说法的核心。

LSP是OCP成为可能的主要原则之一。

3)SRP单一职责原则(TheSingleResponsibilityPrinciple)

一个类,应该仅有一个引起它变化的原因。

体现了内聚性(Cohesion):一个模块的组成元素之间的功能相关性。

违反SRP原则会带来物理依赖的缺点。

使得每个类仅有一个职责。

4)ISP接口隔离原则(TheInterfaceSegregationPrinciple)

客户应该仅知道所需要要的接口。

一个类实现多个接口,避免“肥接口(fatinterface)”

使用委托分离接口,Adapter模式;使用多重继承分离接口。

本质:

使用多个专门的接口比使用单一的接口好。

一个类对另一个类的依赖性应当是建立在最小的接口上的。

避免接口污染(InterfacePollution)

5)DIP依赖倒置原则(TheDependencyInversionPrinciple)

高层模块不依赖于低层模块,二者都依赖于抽象。

抽象不应该依赖于细节,细节应该依赖于抽象。

针对接口编程,而不是针对实现编程。

Booch:所有结构良好面向对象架构都具有清晰地层次定义,每个层次通过一个定义良好的、受控的接口向外提供了一组类聚的服务。

6)启发式原则

依赖于抽象——依赖关系都应终止于抽象类或者接口。

任何变量都不应该拥有指向具体类的指针或者引用。

任何类都不应该从具体类派生。

任何方法都不应该改写其任何基类中已经实现的方法。

类图类图是一种静态设计图,常用于系统分析阶段类图反映了系统设计中类和类之间的关系需要掌握的概念:类(含接口)的UML图标识类-类,类-接口的图形化标识类与类、类与接口的6种关系

UML中的类图类图中的6种关系1.继承(泛化)关系;2.实现关系;3.依赖关系;4.关联关系;5.组合关系6.聚合关系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论