第9讲 UML与设计模式.pptVIP

  1. 1、本文档共61页,可阅读全部内容。
  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文档。上传文档
查看更多
第9讲 UML与设计模式

UML统一建模语言 主要内容 什么是设计模式? 设计模式的优点 设计模式的分类 设计模式讲解 什么是设计模式? 地上本没有路, 走的人多了也就成了路。 —鲁迅 设计模式的历史 最早由美国伯克利大学教授Christopher Alexander提出。 1995年E.Gamma,R.Helm,R.Johnson和J.Vlissides四人合著了十分经典的“Design Patterns:Elements of Object-Oriented Software”一书。这四人也因此被称为“Gang of Four”(简写GOF),成为设计模式中大师级的人物。 采用设计模式的优点 简化并加快设计 方便设计之间的通信 降低风险 有助于转到OO技术,有助于说服开发人员采用新技术 设计模式应用 设计模式是对特定环境下某类问题的解决办法,也就是说,只有在特定的环境下,这个解决方法才有效,如果是在不同的环境下,仍采用同样的解决方法,则可能会得到相反的效果。 设计模式的分类 创建型模式 Factory模式(1) 麦当劳的鸡翅和肯德基的鸡翅都是大家爱吃的食物,虽然口味有所不同,但不管你去麦当劳或肯德基,只管向服务员说“来四个鸡翅”就行了。麦当劳和肯德基就是生产鸡翅的Factory? Factory模式(2) 工厂模式: 客户类和工厂类分开。消费者任何时候需要某种产品,只需向工厂请求即可。消费者无须修改就可以接纳新产品。缺点是当产品修改时,工厂类也要做相应的修改。 BUILDER模式(1) 朋友之间见面经常说“你好”,见到不同地方的朋友,要能够用他们的方言问好,我有一个多种语言翻译机,上面每种语言都有一个按键,见到朋友只要按对应的键,它就能够用相应的语言说出“你好”这句话了,国外的朋友也可以轻松搞掂,这就是“你好”的builder。 BUILDER模式(2) 建造模式: 将产品的内部表象和产品的生成过程分割开来,从而使一个建造过程生成具有不同的内部表象的产品对象。建造模式使得产品内部表象可以独立的变化,客户不必知道产品内部组成的细节。建造模式可以强制实行一种分步骤进行的建造过程。 FACTORY METHOD模式(1) 请朋友去麦当劳吃汉堡,不同的朋友有不同的口味,要每个都记住是一件烦人的事情,我一般采用Factory Method模式,带着朋友到服务员那儿,说“要一个汉堡”,具体要什么样的汉堡呢,让朋友直接跟服务员说就行了。 FACTORY METHOD模式(2) 工厂方法模式: 核心工厂类不再负责所有产品的创建,而是将具体创建的工作交给子类去做,成为一个抽象工厂角色,仅负责给出具体工厂类必须实现的接口,而不接触哪一个产品类应当被实例化这种细节。 PROTOTYPE模式(1) 跟朋友QQ聊天,一定要说很多套话,因此搜集了很多套话,需要时只要copy出来放到QQ里面就行了,这就是聊天的prototype。 PROTOTYPE模式(2) 原始模型模式: 通过给出一个原型对象来指明所要创建的对象的类型,然后用复制这个原型对象的方法创建出更多同类型的对象。原始模型模式允许动态增加或减少产品类,产品类不需要非得有任何事先确定的等级结构,原始模型模式适用于任何的等级结构。缺点是每一个类都必须配备一个克隆方法。 结构型模式 ADAPTER模式(1) 在朋友聚会上碰到了一个朋友Jane,从香港来的,可我不会说粤语,她不会说普通话,只好求助于我的朋友kent了,他作为我和Jane之间的Adapter,让我和Jane可以相互交谈了。 适配器(变压器)模式: 把一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口原因不匹配而无法一起工作的两个类能够一起工作。适配类可以根据参数返还一个合适的实例给客户端。 BRIDGE模式(1) 桥梁模式: 将抽象化与实现化脱耦,使得二者可以独立的变化,也就是说将他们之间的强关联变成弱关联,也就是指在一个软件系统的抽象化和实现化之间使用组合/聚合关系而不是继承关系,从而使两者可以独立的变化。 COMPOSITE模式(1) 合成模式: 合成模式将对象组织到树结构中,可以用来描述整体与部分的关系。合成模式就是一个处理对象的树结构的模式。合成模式把部分与整体的关系用树结构表示出来。合成模式使得客户端把一个个单独的成分对象和由他们复合而成的合成对象同等看待。 FACADE模式 我有一个专业的Nikon相机,我就喜欢自己手动调光圈、快门,这样照出来的照片才专业,但MM可不懂这些,教了半天也不会。幸好相机有Facade设计模式,把相机调整到自动档,只要对准目标按快门就行了,一切由相机自动调整。 门面模式: 外部与一个子系统的通信必须通过一个统一的门面对象进行。门面模式

文档评论(0)

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

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

1亿VIP精品文档

相关文档