第七章 面向对象设计.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第七章 面向对象设计 面向对象设计的任务和原则 软件系统构架与构架模式 设计模式 数据存储与对象持久性 UML设计与实现模式 面向对象设计的任务和原则 面向对象设计的任务 面向对象设计工作是用面向对象的方法构造目标系统的求解域模型,在分析的基础上增加组成部分 面向对象设计的任务和原则 面向对象设计模型 由四个部分和五个层次组成 四个部分: 问题领域(Problem Domain)、人机交互(Human Interaction)、任务管理(Task Management)和数据管理(Data Management)。 五个层次: 主题层、对象层、结构层、属性层和服务层。 面向对象设计的任务和原则 高层构架设计 高层构架设计的目的是开发系统的结构,它从对象设计模型中的4个部分,即问题领域部分、人机交互部分、任务管理部分和数据管理部分入手,对应用系统的总体构架进行构造。 面向对象设计的任务和原则 高层构架设计——问题领域部分设计 问题领域部分包括与应用问题直接有关的全部类和对象。问题领域部分的设计工作主要有以下几个方面。 (1)复用已有的构架和设计模式。 (2)把与问题领域相关的类关联,建立类的层次结构。 (3)创建一般化类。 (4)改进系统性能。 (5)加入较底层的构件。 面向对象设计的任务和原则 高层构架设计——人机交互部分的设计 用户界面部分设计主要由以下几个方面组成 (1)用户分类及用户任务描述 (2)设计命令层。 (3)设计与用户的详细交互,并进行原型设计。 (4)设计人机交互类。 面向对象设计的任务和原则 高层构架设计——任务管理部分的设计 主要包括如下几个方面: (1)为任务命名,并简要说明任务: (2)定义任务间的协调关系,标明是事件驱动还是时钟驱动; (3)描述任务之间的通信,任务将从哪里取值,执行结果将送往何方。 面向对象设计的任务和原则 高层构架设计——数据管理部分的设计 数据管理部分提供了所存储和检索对象的基本结构,包括对持久性数据的访问和管理。数据管理部分将具体的数据管理机制,如文件系统、关系型DBMS等所处理的事项独立出来形成一个单独的模块,分离了数据和程序的执行逻辑,使系统维护变得更加方便 面向对象设计的任务和原则 类设计 在设计中,就必须准确地说明类是如何履行它们的职责。必须完成以下事情: (1) 完整的属性集合,包括详细说明的名称、类型、可见性和一些默认值。 (2) 将分析类指定的操作转化成一个或多个方法的完整集合。在这里,方法就是一个被完整说明的、可以用源代码实现的功能。 面向对象设计的任务和原则 类设计——设计类及其获取 设计类来自两个方面: (1) 通过分析类的细化得到的对问题的求解模块,细化包括添加实现细节等动作。 (2) 应用程序框架。 面向对象设计的任务和原则 类设计——良好设计类的特征 一个形式良好的设计类应当具备下列四个基本特征: 完整的和充分的; 原始的; 高内聚; 低辑合。 面向对象设计的任务和原则 面向对象设计的原则 (1) 单一职责原则 单一职责原则(Single Responsibility Principle,SRP)强调类和类职责的内聚性。“单一职责”就是要为每种职责都设计一个类。 面向对象设计的任务和原则 面向对象设计的原则 (2) “开-闭”原则 “开-闭原则”(Open-Closed Principle,OCP)强调一个软件实体(类、函数等)应当对扩展开放,即模块应当使这个模块能在不修改这个模块的前提下扩展其功能。这就使软件系统既有一定的稳定性和延续性,又有满足新需求的适应性和灵活性。 面向对象设计的任务和原则 (3) 里氏代换原则 里氏代换原则(Liskov Substitution Principle,LSP)强调“继承必须确保超类所拥有的性质在子类中仍然成立。”LSP是继承复用的一个基础,即在同一个继承体系中的对象应该有共同的行为特征。 为了满足LSP,当存在继承关系时,子类中方法的前置条件必须与超类中被覆盖的方法的前置条件相同或者更宽松;而子类中方法的后置条件必须与超类中被覆盖的方法的后置条件相同或者更为严格。 面向对象设计的任务和原则 (4) 合成复用原则 合成复用原则(Composite Reuse Principle,CRP),又叫合成/聚合复用原则(Composite/Aggregate Reuse Principle,CARP),CRP强调在设计时要尽量使用合成/聚合,而不要使用继承,即在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分。新对象通过向这些对象的委派达到复用已有功能的目的。 面向对象设计的任务和原则 复用的实现:合成/聚合和继承 合成/聚合: 好处:

文档评论(0)

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

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

1亿VIP精品文档

相关文档