软件设计模式入门.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文档。上传文档
查看更多
软件设计模式入门

Bridge模式 :给某一个对象提供一个代理对象,并由代理对象控制对原来对象的引用。 Flyweight模式 :创建共享对象的一个小型池,以共享的方式高效的支持大量的细粒度对象。 在结构型模式中除了适配器(类Adapter)属于类模式,其他都属于对象模式。 Command模式:把一个请求或者操作封装到一个对象中,允许请求的一方和发送的一方独立开来。 Chain of Responsibility模式 :将很多对象连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求为止。 Interpreter模式 :给定一个语言后,该模式可以定义出其文法的一种表示,并同时提供一个解释器。 Iterator模式 :分离一个集合对象的遍历行为,抽象出一个迭代器类来负责。 主要有以下几种: Mediator模式 :用一个中介对象来封装一系列的对象交互,使得这些对象不必相互明显作用。从而使它们可以松散耦合 。 在结构型模式中除了解释器(Interpreter)模板方法(Template Method)属于类模式,其他都属于对象模式。 Observer模式 :定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象。 Memento模式 :在不破坏封装的前提下,捕获一个对象的内部状态,并外部化,存储起来。 State模式 :允许一个对象在其内部状态改变时,改变行为。 Strategy模式 :针对一组算法,将每一个算法封装到具有共同接口的独立的类中,从而使得它们可以相互替换。 Template Method模式 :为一系列的算法先制定一个顶级算法框架,而将算法的细节留给具体的子类去实现。 Visitor模式 :封装一些作用于某种数据结构元素之上的操作。一旦这些操作需要修改的话,接受这个操作的数据结构可以保持不变。 程序的实现要求如下: (1)了解Simple Factory模式。 (2)使用Simple Factory模式处理几何对象。 模式与设计模式 描述设计模式 应用设计模式解决问题 选择设计模式 使用设计模式 常用设计模式分析 模式与设计模式 描述设计模式 应用设计模式解决问题 选择设计模式 使用设计模式 常用设计模式分析 比如要求开发一个绘图程序,用来绘制简单的几何图形。如圆、矩形等,那么在程序中该如何处理这些几何对象呢? 该项目使用Simple Factory模式(简单工厂模式)来处理这些几何对象。为这些几何图形定义一个公共的父类和一些公共的方法,类间的关系如图所示: Shape是一个抽象类,Circle和Rectangle类是Shape的两个具体实现,“工厂”类ShapeFactory用于创建各种几何图形的具体实例。 Christopher Alexander给出的经典定义是:每个模式都描述了一个在我们的环境中不断出现的问题,然后描述了该问题的解决方案的核心。通过这种方式,你可以无数次地使用那些已有的解决方案,无需再重复相同的工作。 一般,模式存在如下的基本要素: 名称:每个模式都有一个独一无二的名称,通过名称来鉴别不同的模式。 问题:模式试图解决的问题。 解决方案:对于某个情景中的问题,模式提供的解决问题的方法。 效果:使用模式后所达到的效果,使用模式的同时研究其约束。 意图:模式的目的。 参与者和协作者:模式所包含的实体。 实现:怎样实现模式。实现是模式的具体表现形式,而不能像模式本身那样被分析。 我们怎样来描述设计模式呢?采用图形概念吗?图形概念固然很重要、很有用,但这还远远不够。因为它们仅仅简单的表达了类和对象之间的关系,这是设计过程的最终产品。为了设计重用,我们还必须记录决策过程、替代方案等。 一般我们用统一的格式来描述设计模式,每一种模式都按以下的模版分成多个部分。每个部分的模版使用统一的信息结构,便于设计模式的学习、比较和使用。 常用的描述模式的格式大致可分为以下部分: 模式名和分类(Pattern Name and Classification):模式名简洁的表达了模式的本质。好的命名非常重要,因为它将会成为你的部分设计术语(词汇)。 意图(Intent):主要描述设计模式的作用?其基本原理和目的是什么?它针对哪些特殊的设计问题? 别名(Byname):如果某个模式有其它的名称,那么该模版部分就指出了该模式的这个名称。 动机(Motivation):指出可能存在的设计问题以及怎样使用该模式中的类和对象来解决该问题的情景。这个情景能帮助你理解对该模式更高层的抽象描述。 适用性(Applicability):指出模式适用于哪些情况?该模式可用于对那些不良的设计进行改进,以及怎么才能识别这种情况?

文档评论(0)

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

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

1亿VIP精品文档

相关文档