面向对象_设计与实现.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十章 面向对象设计 ( OOD - Object-Oriented Design) 面向对象设计是面向对象分析到实现的一个桥梁。面向对象分析是将用户需求经过分析后,建立问题域精确模型的过程,而面向对象设计则是根据面向对象分析得到的需求模型,建立求解域模型的过程。 面向对象方法中,从分析到设计不像传统方法那样有明显的方法、工具的转换,而是平滑(无缝)过渡。分析设计过程具有良好的可跟踪、可修改和可扩展性。 面向对象设计可分为系统设计和类设计。系统设计是高层设计,主要确定实现系统的策略和目标系统,主要设计系统的结构、用户界面,即用来构造系统的总的模型,并把任务分配给系统的各个子系统。 类--对象设计是低层设计,主要确定解空间中的类、关联、接口形式及实现服务的算法。 面向对象的设计 优秀设计的一个重要特点是容易维护 面向对象的设计准则_续 4.弱耦合准则 :不同对象之间相互关联的依赖关系表示了耦合度。,在 OOD 过程中,应当注意: 降低交互耦合(interactive coupling): 交互耦合通过传递消息发生. 要求降低消息中的参数 个数和参数复杂性、减少对象发送 \ 接收消息的个数, 以便降低交互耦合 加强继承耦合(inheritance coupling): 要求父类与子类之间利用继承关系实现高耦合 Parent class IS_A child class ? as high as possible 面向对象的设计准则_续 5、高聚合准则:Cohesion: ? 服务内聚(service cohesion):一个服务只完成一个功能。 类内聚(class cohesion):一个类只有一个用途,否则分解之。 ? 一般-特殊内聚(general-particular cohesion): High g-p cohesion ? High inheritance coupling 高内聚 = 高度的继承聚合 6、可重用:类的设计应该具有通用性,为开发相似的系统提供软件重用可能。既要尽量重用已有的类,又要创建可重用的新类。 OOD设计的启发式规则 1、设计结果清晰易懂,应做到: ① 用词一致:按习惯用法命名。不同classes中相似的服务最好取 同一名字。 ② 使用已有的协议(protocol)。减少重复劳动 ③ 尽量减少消息(message)模式的数目。增强可理解性。 ④ 避免模糊定义。只定义具有明确的、有限的用途的类 2、一般-特殊结构的深度应适当(约100个classes,则设计7±2层) 3、设计简单的class(定义不超过一页纸或两屏)。应注意: ① 避免过多的属性(attributes); ② 能用简单的语句描述一个class的任务; ③ objects之间合作关系要简单; ④ 避免过多的方法(methods)(? 7个)。 问题:设计出大量的classes,将使结构复杂度增加。 解决:按照问题域划分主题,提高整体可理解性 OOD设计中的系统分解与组织 面向对象设计同结构化设计一样,要进行自顶向下的功能分解。将系统分解成若干个比较小的部分,再分别设计每个部分。这样既简化了应用系统,又降低了设计的难度,并有利于实现和维护。 系统是根据功能来分解的,我们将系统分解的各个部分称为子系统。子系统不是单一的对象或功能,而是面向对象分析模型的五个层次的集合。 面向对象设计模型同样由主题、类-&-对象、结构、属性和服务等五个层次(水平切片)组成,并且又扩充了问题域(PDC)、人机交互(HIC)、任务管理(TMC)和数据管理(DMC)四个部分(垂直切片)。 典型的面向对象设计模型 子系统间的交互方式 客户/服务器交互方式 同等伙伴交互方式 系统组织方式 层次组织 :每层是一个子系统。上层建立在下层的基础上,下层为上层提供必要的服务。低层子系统提供服务,相当于服务器,上层子系统使用下层提供的服务,相当于客户。这样构成上、下层之间的客户/服务器关系。 开放式层次组织:开放式结构中,某层子系统可以使用其下面的 任何一层子系统所提供的服务。更高效。 封闭式层次组织:每层子系统只根据相邻下层建立,且仅使用相 邻下层提供的服务。更严谨,可理解性好。 块组织 :块组织将系统垂直地分解成若

文档评论(0)

好文精选 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档