软件体系结构与设计模式 第四章.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文档。上传文档
查看更多
软件体系结构与设计模式 第四章.ppt

第四章 设计模式简介 4.1 什么是软件模式? 软件开发中重复出现问题的解决方案; 一种来源于具体问题形式的抽象,这种抽象在特定环境中出现[generic definition]; 在给定的问题环境和约束条件下,对通用问题的重复解决方案[Alexander]; 一种经过证明的、在给定条件下问题的有效的重复解决方案。它象一个“大金块”传递了解决方案的本质。(点石成金的方法)。 经过多次成功使用,已经被证明的“最佳实践方法”; 用文字、图表描述的方式来捕捉设计专家的智慧和经验,并把这些经验传递给新手。 软件模式是… 对通用设计问题的重复解决方案 对真实世界问题的实践的/具体的解决方案 面向特定的问题环境 权衡利弊之后得到的“最佳”解决方案 领域专家和设计老手的“杀手锏” 用文档的方式记录的最佳实践 在讨论问题的解决方案时,一种可交流的词汇 在使用(重用)、共享、构造软件系统中,一种有效地使用已有的智慧/经验/专家技术的方式 软件模式不是…… 仅仅限于面向对象的软件设计 未经检验的想法/理论或新的发现 仅仅使用过一次的解决方案 以模式的形式描述过时的技术和方法 抽象原理或启发性的构想 在任何环境下都适用的通用解决方案 “万精油”或“万能药” 软件模式的作用与意义 什么是设计模式? 纪录模式的四个基本要素 4.2 设计模式的起源 4.3 GOF之著作 4.4学习设计模式的重要性 4.5 合理使用模式 5.了解反模式 所谓反模式就是从某些软件系统中总结出的不好的设计方案,反模式就是告诉你如何采用一个不好的方案解决一个问题。既然是一个不好的方案,为何还有可能被重复使用呢?这是因为,这些不好的方案表面上往往有很强的吸引力,人们很难一眼就发现它的弊端,因此,发现一个反模式也是非常有意义的工作。在有了一定的设计模式的基础之后,你可以用搜索引擎查找有关反模式的信息,这对于学习好设计模式也是非常有帮助的。 4.6 什么是框架 框架和模式的区别 1.层次不同 模式比框架更抽象,模式是在某种特定环境中,针对一个软件设计出现的问题而给出的可复用的解决方案,不能向使用者提供可以直接使用的类,设计模式只有在被设计人员使用时才能表示为代码,例如,GOF描述的中介者模式:“用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互”,该模式在解决方案中并没有提供任何类的代码,只是说明设计者可以针对特定的问题使用该模式给出的方案。框架和模式不同,它不是一种可复用的设计方案,它是由可用于设计解决某个问题的一些类组成的集合,程序设计人员通过使用框架提供的类或扩展框架提供的类进行应用程序的设计,例如。在Java中,开发人员使用Swing框架提供的类设计用户界面;使用Set(集合)框架提供的类处理数据结构相关的算法等。 4.7 使用Java描述模式的必要性 * 一个模式是…… Use Case Source Code 分析 模式 设计 模式 Idioms 模式 需求分析模型 设计模型 重用(优化模型) 重用(优化模型) 重用(优化程序) 积储 积储 积储 Business Domain Model 应用领域建模 业务 领域 模式 积储 重用(优化模型) 设计模式(pattern)是从许多优秀的软件系统中总结出的成功的可复用的设计方案。 记录一个设计模式需有四个基本要素: 1.名称 一个模式的名称高度概括该模式的本质,有利于该行业统一术语、便于交流使用。 2.问题 描述应该在何时使用模式,解释设计问题和问题存在的前因后果,描述在怎样的环境下使用该模式。 3.方案 描述设计的组成部分,它们之间的相互关系及各自的职责和协作方式。 4.效果 描述模式的应用效果及使用模式应当权衡的问题。主要效果包括使用模式对系统的灵活性、扩充性和复用性的影响。 例如,GOF之书如下记录中介者模式: 名称 中介者 问题 用一个中介者来封装一系列的对象交互。中介者使各对象不需要显示地相互引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。 方案 中介者(Mediator)接口、具体中介者(ConcreteMediator)、同事(Colleague)、具体同事(ConcreteColleague)。 效果 减少了子类的生成、将各个同事解耦、简化了对象协议、控制集中化。 1.软件领域的设计模式起源主要是受到1977年建筑大师Alexander出版的《A Pattern Language:Towns, Building, Construction》一书。 2.Alexander在其著作中将其建筑行业中的许多问题的最佳解决方案记录为200多种模式,其思想不仅在建筑行业影响深远,而且很快影响

文档评论(0)

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

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

1亿VIP精品文档

相关文档