12第八章--面向对象设计.ppt

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 面向对象设计 (Object-Oriented Design) 8.1 OOD准则:优秀软件设计的一个重要特点是容易维护 8.2 启发式规则 1、设计结果清晰易懂,应做到: ① 用词一致 —— 按习惯用法命名。不同classes中相似的methods最好取同一名字。 ② 使用已有的protocol。 ③ 尽量减少message模式的数目。 ④ 避免模糊定义。 8.5 设计类中的服务 —— 细化object model中的 methods 8.6 设计关联 * * 回顾:SD准则包括 ? Modularization ? Abstraction ? Information hiding ? Module independence 对于 OOD有类似的准则: 1、Module = Object 8.1 OOD准则 ? Procedure abstraction: 在SD中已讨论 ? Data abstraction: Class即是一种抽象数据类型。外界无须知道实现方法就可按照类协议(class description protocol)* 使用class中定义的数据。 Parameter abstraction: 将数据类型作为参数处理。 抽象程度更高,应用范围更广,可重用性更高 2、Abstraction:抽出事物的本质特性, 暂不考虑其细节,使设计从具体实现方法中超脱。 3、Information hiding = Encapsulation of object 4、Coupling: 不同对象之间相互关联的紧密程度 ? 交互耦合(interactive coupling):通过传递message发生要求:降低参数个数和参数复杂性 减少objects发送 \ 接收message的个数 ? as loose as possible ? 继承耦合(inheritance coupling): 要求 Parent class IS_A child class ? as high as possible 8.1 OOD准则 ? 一般-特殊内聚(general-particular cohesion): High g-p cohesion ? High inheritance coupling 5、Cohesion: ? 服务内聚(service cohesion):一个服务只完成一个 功能。 ? 类内聚(class cohesion):一个类只有一个用途, 否则分解之。 6、Reusability 8.1 OOD准则 2、一般-特殊结构的深度应适当 一般,中等规模的系统,约100个classes, 设计7±2层类层次结构 8.2 启发式规则 3、设计简单的class (类的定义不超过一页纸或两屏). 应注意: ① 避免过多attributes; ② 能用简单的语句描述一个class的任务; ③ objects之间合作关系要简单; ④避免过多methods(? 7个)。 问题:设计出大量的classes,使结构复杂度增加。 解决:划分主题,提高可理解性。 4、使用简单的protocol, 减少message 中传递的参数 (=3) 5、使用简单的method (3—5行源程序,否则设法分解或简化) 6、把设计变动减至最小 1、概念: ? 知识重用(例如软件工程知识的重用) ? 方法和标准重用(例如OO方法和国家规定的软件开发规范的重用) ? 软件成分的重用 8.3 软件重用 (Software Reuse) 知识工程 源码剪贴 —— 无法溯源,无配置管理 Include —— 修改后所有包含了此段代码的程 序都须重新编译。 Inheritance —— 无须改动原有代码 想象一下,stdio.h 被改动之后…… ? 重用软

文档评论(0)

fpiaovxingl + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档