第八章 面向对象设计综述.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文档。上传文档
查看更多
第八章 面向对象设计综述

第八章 面向对象设计 内容提纲 软件体系结构 –基本概念与设计文档 体系结构风格 –仓库体系结构 –模型/视图/控制器结构 –控制结构 –客户机/服务器结构 –分层体系结构 设计模式 –抽象工厂(Abstract Factory)模式 –状态(State)模式 –外观(Fa?ade)模式 –观察者(Observer)模式 软件体系结构 软件体系结构包括一组软件部件、软件部件的外部的可见特性及其相互关系,其中软件外部的可见特性是指软件部件提供的服务、性能、特性、错误处理、共享资源使用等。 –系统的总体组织结构和全局控制结构 –通信、同步和数据访问的协议 –设计元素的组成与功能分配 –非功能需求 –系统的物理部署 –备选设计方案的选择 软件体系结构 包依赖性 循环依赖的消除 循环依赖的消除 体系结构风格 ?软件体系结构风格是描述某一特定应用领域中系统组织方式的惯用模式,它反映了领域中众多系统所共有的结构和语义特性,并指导如何将各个模块和子系统有效地组织成一个完整系统。 ?典型的软件体系结构风格 –仓库或知识库结构 –模型/视图/控制器体系结构 –控制结构 –客户机/服务器结构 –分层体系结构 仓库结构 ?仓库或知识库结构(Repository architecture) 仓库结构 仓库结构是一种以数据为中心的体系结构,它包含一个中心数据库和一组相互独立的处理中心数据的子系统,主要适合于数据由一个子系统产生而由其他子系统使用的情形。 ?优点:在共享数据模型稳定的情况下,扩展新的子系统十分容易 ?缺点:子系统与共享数据之间的耦合度很高,共享数据将对系统的性能和子系统的修改产生瓶颈。 ?应用:现代编译器、管理信息系统、CAD 系统和CASE工具集等。 仓库结构 仓库结构 模型/视图/控制器结构 模型/视图/控制器结构 控制结构 ?该结构关心的是子系统之间的控制流 –集中式控制 ?一个子系统专门负责控制,控制其他子系统的启动和停止。它也可能将控制交给一个子系统,但在控制完成后控制权仍然要归还给它。 –基于事件的控制 ?控制信息不是集中于一个子系统中,而是每个子系统都能接收来自外部的事件并对此作出响应。这些事件可能来自其他子系统或来自系统的环境。 控制结构 控制结构 客户机/服务器结构 ?客户机/服务器结构(Client/Server Architecture) –在客户机/服务器体系结构中,作为服务器的子系统为其他客户机的子系统提供服务,作为客户机的子系统负责与用户的交互。 ?瘦客户机模型 –所有的应用处理和数据管理都是在服务器上执行,客户机只是负责数据表示部分。 –由于繁重的处理负荷全部集中在服务器和网络上,有可能造成性能上的问题。 客户机/服务器结构 ?胖客户机模型 –服务器只负责对数据的管理,客户机上的软件实现应用逻辑与用户的交互。 –系统管理更加复杂,因为应用程序的改变必须在客户机上重新安装。 ?三层的客户机/服务器体系结构 分层体系结构 ?层次化是一种概念,它将软件设计组织成为类或组件的层次或集合,在同一个层次上的类或组件完成一个特定的目的。 ?良好的层次结构可以易于系统的扩展与维护,不同的层次之间通过接口进行通信。 ?三层体系结构(Three-tier Architecture) –表示层:窗口、报表等用户界面元素 –应用逻辑层:管理业务过程的任务和规则 –存储层:持久化存储机构 分层体系结构 MiniLibrary:软件体系结构 设计模式 ?回顾学过的数据结构 –Trees, Stacks, Queues –它们给软件开发带来了什么? ?问题 –在软件体系结构设计中是否存在一些可重用的解决方案? ?答案是肯定的 –设计模式使我们可以重用已经成功的经验 –Pattern=Documented experience 设计模式 设计模式 ?设计模式描述了软件系统设计过程中常见问题的解决方案,它是从大量的成功实践中总结出来的且被广泛公认的实践和知识。 ?设计模式的好处 –使人们可以简便地重用已有的良好设计 –提供了一套可供开发人员交流的语言 –提升了人们看待问题的抽象程度 –帮助设计人员更快更好地完成系统设计 –模式是经过考验的思想,具有更好的可靠性和扩展性 设计模式的风险 ?设计模式不是万能的 –模式可以解决大多数问题,但不可能解决遇到的所有问题 –应用一种模式一般会“有得有失”,切记不可盲目应用 –滥用设计模式可能会造成过度设计,反而得不偿失 ?设计模式是有难度和风险的 –一个好的设计模式是众多优秀软件设计师集体智慧的结

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档