- 1、本文档共78页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
沈阳工业大学信息科学与工程学院
第十章 面向对象设计 从面向对象分析(OOA)到面向对象设计(通常缩写为OOD),是一个逐渐扩充模型的过程。或者说,面向对象设计就是用面向对象观点建立求解域模型的过程。 尽管分析和设计的定义有明显区别,但是在实际的软件开发过程中二者的界限是模糊的。 许多分析结果可以直接映射成设计结果,而在设计过程中又往往会加深和补充对系统需求的理解,从而进一步完善分析结果。 分析和设计活动是一个多次反复迭代的过程 10.1 面向对象设计的准则 模块化 对象就是模块。它是把数据结构和操作这些数据的方法紧密地结合在一起所构成的模块。 抽象 面向对象方法不仅支持过程抽象,而且支持数据抽象。类实际上是一种抽象数据类型,某些面向对象的程序设计语言还支持参数化抽象。 信息隐藏 在面向对象方法中,信息隐藏通过对象的封装性实现: 10.1 面向对象设计的准则 弱耦合 交互耦合: 如果对象之间的耦合通过消息连接来实现,则这种耦合就是交互耦合。为使交互耦合尽可能松散,应该遵守下述准则。 尽量降低消息连接的复杂程度。 减少对象发送(或接收)的消息数。 继承耦合 与交互耦合相反,应该提高继承耦合程度。为获得紧密的继承耦合,特殊类应该确实是对它的一般化类的一种具体化, 10.1 面向对象设计的准则 强内聚 服务内聚 一个服务应该完成一个且仅完成一个功能。 类内聚 设计类的原则是,一个类应该只有一个用途,它的属性和服务应该是高内聚的。 一般—特殊内聚 设计出的一般—特殊结构,应该符合多数人的概念,更准确地说,这种结构应该是对相应的领域知识的正确抽取。 可重用 尽量使用已有的类(包括开发环境提供的类库,及以往开发类似系统时创建的类), 如果确实需要创建新类,则在设计这些新类的协议时,应该考虑将来的可重复使用性。 10.2 启发规则 设计结果应该清晰易懂 一般\特殊结构的深度应适当 设计简单的类 使用简单的协议 使用简单的服务 把设计变动减至最小 10.3 软件重用 重用 知识的重用 方法和标准的重用 软件成分的重用 软件成分的重用级别 代码重用 源代码剪贴 源代码包含 继承 设计结果重用 重用某个软件系统的设计模型 分析结果重用 典型的可重用软件成分 项目计划、成本估计、体系结构、需求模型和规格说明、设计、源代码、用户文档和技术文档、用户界面、数据、测试用例 类构件 可重用软构件应具备的特点 模块独立性 具有高度可塑性 接口清晰、简明、可靠 类构件的重用方式 实例重用 继承重用 多态重用 10.4构件级设计 构件是计算机软件中的一个模块化的构造块 在UML规范中将构件定义为“系统中某一定型化的、可配置的和可替换的部件,该部件封装了实现并暴露一系列接口”。 面向对象的观点: 构件包括一组协作类 构件中的每一个类都被详细阐述,包括所有的属性和与其实现相关的操作。 从分析模型开始,详细描述分析类(对于构件而言该类与问题域相关)和基础类(对于构件而言该类为问题域提供了支持性服务)。 传统观点: 一个构件就是程序的一个功能要素,有处理逻辑、实现处理逻辑所需的内部数据结构以及能够保证构件被调用和实现数据传递的接口构成。传统构件称为模块 模块控制构件,协调问题域中所有其他构件的调用; 问题域构件,完成部分或全部用户的需求; 基础设施构件,负责完成问题域中所需要相关处理的功能 10.4构件级设计 1:标识出所有与问题域相对应的设计类 2:确定所有与基础设施相对应的设计类 3:细化所有不能作为复用构件的设计类 在类或构件的协作时说明消息的细节 为每一个构件确定适当的接口 细化属性并且定义相应的数据类型和数据结构 详细描述每个操作中的处理流 4:说明持久性数据源(数据库和文件)并确定管理数据源所需要的类 5:开发并且细化类或构件的行为表示 6:细化部署图以提供额外的实现细节 7:考虑每一个构件级设计表示,并且时刻考虑其他选择 10.4构件级设计 基于类的构件设计原则 开闭原则(The Open-Closed Principle, OCP):模块应该对外延具有开放性,对修改具有封闭性。 替换原则(Subsitution Principle, SP):子类可以替换它们的基类。 依赖倒置原则(Dependency Inversion Principle, DIP):依赖于抽象、而非具体实现 接口分离原则(Interface Segregation Principle, ISP):多个用户专用接口比一个通用接口要好。 迪米特法则(最少知道原则) 合成复用原则 打包的原则 发布复用等价性原则(Release Reuse Equivalency Principle, REP):复用的粒度就是发布的粒度。 共同封装原则(Common Closure Principle, CCP): 一同变更
您可能关注的文档
- 欧李扦插苗质量分级标准研究-京欧钙果.pdf
- 歌唱的艺术--6歌唱的型态与种类(演唱方式).ppt
- 次级资料.ppt
- 正畸正额联合治疗唇胖裂术后牙额面畸形的疗效观察-口腔颌面外科杂志.pdf
- 正五边形港湾内的水波共振-河海期刊.pdf
- 步步为营的高中英语小组活动探索-兴义八中.doc
- 正面自我标签对建议采纳的影响-心理学报.pdf
- 武功山退化山地草甸土壤种子库的研究.pdf
- 武汉理工大学2017考研《机械平面机构运动简图设计基础》考试大纲.doc
- 正六边形及其扩展形状港湾内的水波共振-计算力学学报.pdf
- 低空经济政策未来展望与2025年航空维修与维护行业市场调研报告.docx
- 安徽省安全员《B证》考试题库及答案.docx
- 2025年社区老年助浴服务中心服务满意度调查与分析.docx
- 在线医疗平台服务质量与患者康复效果分析报告.docx
- 2025前沿科技:人工智能在医学影像误诊率控制中的关键技术研究.docx
- 安全知识竞赛题目安全知识竞赛试题及答案.docx
- 汉服品牌在短视频平台的文化传播策略研究.docx
- 2025至2030全球及中国肉类及家禽安全测试行业市场深度研究及发展前景投资可行性分析报告.docx
- 2025年乡村生态养殖示范基地农业废弃物资源化利用与生态农业研究报告.docx
- 中国工业自动化2025年协作机器人市场规模预测与竞争格局分析报告.docx
最近下载
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 隧道施工课件.ppt VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- DB 6108T 53-2023 煤基固废调理剂修复沙化土地技术规范.docx VIP
- DB6108_T 52-2023 煤基固废调理剂修复盐碱地技术规范.docx VIP
- 行政人事部年终工作总结.pdf VIP
- 行政人事部年终工作总结.pptx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 化工厂物资明细表.xls VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库(浓缩500题).docx VIP
文档评论(0)