第14章 UML与设计模式.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文档。上传文档
查看更多
面向对象分析与设计UML 第14章 UML与设计模式 14.1 为什么要使用设计模式 14.2 设计模式的历史 14.3 设计模式的分类 14.4 设计模式实例 – Facade 设计模式 14.4 设计模式实例 – Facade 设计模式 14.4 设计模式实例 – Facade 设计模式 14.4 设计模式实例 – Abstract Factory设计模式 14.4 设计模式实例 – Abstract Factory设计模式 14.4 设计模式实例 – Visitor设计模式 14.4 设计模式实例 – Visitor设计模式 14.4 设计模式实例 – Visitor设计模式 14.4 设计模式实例 – Visitor设计模式 * 要真正掌握软件设计,必须研究其他软件大师的设计,这些设计包含了许多设计模式(Design Pattern)。 设计模式系统地命名、解释和评价了重要的、经常出现的OO系统中的设计。简单地说,设计模式是对某特定环境下某类问题的解决方法。 使用设计模式的好处: 简化并加快设计;方便设计者之间的通信;降低风险; 有助于转到OO技术 设计模式突出了面向对象技术中的封装、泛化、多态等概念,学习设计模式,必须清楚这些概念的使用。 20世纪70年代后期,美国伯克利大学建筑学教授Christopher Alexander 提出了设计模式的概念 80年代,很多计算机开发人员根据Alexander的思想开始在软件开发中有意识地使用设计模式 80年代后期90年代初, Erich Gamma开始对设计模式进行分类整理的工作,并在其博士论文中有详细的论述。 1995年,E.Gamma、R.Helm、R.Johnson和J.Vlissides四人(Gang of Four - GoF)合著了经典:”Design Patterns: Elements of Reusable Object-Oriented Software” Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor Adapter Bridge Composite Decorator Facade Flyweight Proxy Abstract Factory Builder Prototype Singleton 对象 Interpreter Template Method Adapter Factory Method 类 范围 行为型 结构型 创建型 目的 GoF的书中设计模式的分类 (23个模式) 抽象了创建对象的过程,使得系统不依赖于系统中对象是如何创建、组合和表示的。 主要描述如何组合类和对象以获得更大的结构。 主要描述算法和对象间职责的分配。 刻面(Facade)设计模式属于对象结构型设计模式。利用Facade设计模式可以为子系统中的一组接口提供一个一致的界面,可以降低系统中各部分之间的相互依赖关系,同时增加了系统的灵活性。 Q R S I J K L Q R S I J K L Facade Client 类 子系统类 Facade设计模式的特点: 1) 对client来说屏蔽了子系统中的类,因此减少了Client需要直接处理的对象,使得子系统更容易被使用; 2) 降低了Client和子系统之间的耦合度; 3) 有助于对象之间依赖关系的分层,建立具有层次结构的系统; 4) 子系统中的类不需要了解关于Client的知识,也不需要了解关于Facade类的知识,即没有指向Client和Facade的引用; 5) 如果需要,Client也可以直接存取子系统中的类。 课本P157说明了如何使用Facade设计模式对数据库进行操作的接口。 Facade设计模式的适用场合: 1) 要为复杂的子系统提供一个简单的接口 2) Client和Client要使用的类之间存在过多的依赖关系 3) 要建立具有层次结构的子系统 抽象工厂(Abstract Factory)设计模式属于对象创建型设计模式。使用Abstract Factory设计模式的目的是给客户程序提供一个创建一系列相关或相互依赖的对象的接口,而无需在客户程序中指定要具体使用的类。 例:多种图形用户界面的设计 (利用3个抽象类) Abstract Factory设计模式的特点: 1)Client只通过抽象产品操作产品对象,产品对象的具体名字不出现在Client中; 2)在应用系统中增加或删除具体工厂的种类很容易; 3)可以保证应用系统在某一时刻只使用一个产品系列,如只使用ProductA1、ProductB1系列或只使用ProductA2、ProductB2系列;

文档评论(0)

书是爱的奉献 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档