(第10章面向对象设计.pptVIP

  1. 1、本文档共82页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
(第10章面向对象设计

复旦大学计算机科学与工程系 软件工程课程 第10章 面向对象设计 教学目的与要求 ⒈掌握架构设计的概念和原则; ⒉掌握常用的架构摸式; ⒊掌握详细设计原则和设计内容; 4.了解各种设计模式; 教学重点 ⒈架构设计的概念和原则; ⒉常用的架构摸式; ⒊详细设计原则和设计内容; ⒋设计模式。 分层构架具有以下优点: 层次的复用性。为每个层次建立好抽象接口,可以使其在其他环境复用。 支持基于抽象程度递增的系统设计,使设计者可以对复杂系统进行分解,从而使系统更容易模块化。 支持功能增强。因为每一层至多和相邻的上下层进行交互,因此功能的改变最多影响相邻的两层。 可替换性。独立的层次设计容易被功能相似的模块替换。 分层构架也有一些缺点,主要表现在: 效率低。分层结构通常要比单层结构效率低,原因是有时高层过分依赖底层的服务,必须经过许多中间层进行数据传递。 增加了一些不必要的工作。 改变行为的连锁反应。 设计者要建立不同合适粒度的抽象层次有一定困难。 常见的分层架构模式有: 客户端-服务器模型(Client-Server,C/S)。 三层模型:用户表示层、业务逻辑层、数据层。 这种构架具有以下优点: 可以创建具有良好隐蔽性和高内聚、低耦合的构件。 设计者可以将整个系统的输入/输出行为看成是多个过滤器行为的简单合成。 支持软件重用。 通过添加新的过滤器或换掉旧的过滤器可以方便地维护系统,增强现有的系统功能。 可以对一些如吞吐量、死锁等问题进行分析。 支持并发过程。每个过滤器作为一个单独的任务完成,因此可与其他任务并行执行,有较高的并行处理效率。 模型部件是软件所处理问题逻辑在独立于外在显示内容和形式情况下的内在抽象,封装了问题的核心数据、逻辑和功能的计算关系,他独立于具体的界面表达和I/O操作。 视图部件把表示模型数据及逻辑关系和状态的信息及特定形式展示给用户。它从模型获得显示信息,对于相同的信息可以有多个不同的显示形式或视图。 控制部件是处理用户与软件交互操作的,其职责是控制提供模型中任何变化的传播,确保用户界面于模型间的对应联系;它接受用户的输入,将输入反馈给模型,进而实现对模型的计算控制。 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。 MVC的优点表现在以下几个方面: 可以为一个模型在运行时同时建立和使用多个视图。变化-传播机制可以确保所有相关的视图及时得到模型数据变化,从而使所有关联的视图和控制器做到行为同步。 视图与控制器的可接插性,允许更换视图和控制器对象,而且可以根据需求动态的打开或关闭、甚至在运行期间进行对象替换。 模型的可移植性。因为模型是独立于视图的,所以可以把一个模型独立地移植到新的平台工作。需要做的只是在新平台上对视图和控制器进行新的修改。 潜在的框架结构。可以基于此模型建立应用程序框架,不仅仅是用在设计界面的设计中。 微核模式由以下5个部分组成: 内部服务器 外部服务器 适配器 客户机 微核 单一职责原则 “开-闭”原则 里氏代换原则 合成复用原则 依赖倒置原则 接口隔离原则 迪米特原则 类设计就是根据具体的实现语言将分析类转换成设计类,即按具体的实现语言,如Java、C#等,对分析类中的边界类、实体类和控制类细化已有方法、补充类属性,完成基本设计模型。 类设计是将分析模型映射到设计模型最基础也是最重要的一项工作。 以学生选课这个系统用例为例,并且假设我们使用java语言来开发。在建立分析模型的过程中,我们得到了如下图所示的实现了学生选课系统用例的分析模型类图。 分析类直接映射到设计类 分析类映射到多个设计类 分析模型映射设计模型 对分析类的补充 面向对象的一大优点是接口与实现的分离,它使得我们在考虑程序逻辑时可以完全不用考虑程序将怎样编写,而只考虑对象交互的接口。 面向对象设计中,软件系统四通八达的神经网络正是通过接口设计来构建的。 接口使对象之间相互传递消息从而构成整个系统。 接口设计不良会导致消息处理出错从而造成系统功能失效 接口决定了整个系统是否能正常运行。 设计模式提供一种解决问题的纲要设计,它描述普遍存在的在相互联系的构件中重复出现的结构,从而建立在一定的问题背景下通用的设计方案。 设计模式通常被分成创建型、结构型、行为型三类。 享元模式所涉及的角色有: 抽象享元(Flyweight)角色。 具体享元(ConcreteFlyweight)角色。 享元工厂(FlyweightFactory)角色。 客户端(Client)角色。 2.门面模式 门面模式为一组复杂接口对象

文档评论(0)

64348377 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档