网站大量收购独家精品文档,联系QQ:2885784924

7 设计模式1Facade,Adapter模式.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
7 设计模式1Facade,Adapter模式

7.5 迪米特法则 迪米特法则LoD (Law of Demeter),又称为最少知识原则,就是说一个对象应当对其他对象有尽可能少的了解。 一个软件实体应当尽可能少的与其他实体发生相互作用。 迪米特法则的初衷在于降低软件实体之间的耦合性。使得系统的功能模块功能独立,相互之间不存在(或很少有)依赖关系。 UML和设计模式 * Fa?ade没有一个对应的类图描述。 * * * * * UML和设计模式 UML和设计模式 UML和设计模式 UML和设计模式 权 巍 主要内容 7.1 设计模式概述 7.2 设计模式的分类 7.3 Facade(外观)模式 7.4 Adapter(适配器)模式 7.5 迪米特法则 * UML和设计模式 7.1 设计模式概述 UML和设计模式 * 模式最初起源于建筑学领域 1995年,在面向对象的软件开发中首次使用模式化方法的著作 四位作者被称为: Gang-of-Four 书中介绍了23种基本的设计模式(GOF23种设计模式) 7.1 设计模式概述 UML和设计模式 * 什么是设计模式? 广义上讲,是对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述; 狭义的讲,是对特定问题的描述或解决方案。 设计模式的基本要素: 名称、问题、解决方案、模式效果。 7.2 设计模式的分类 按照模式的目的划分: 创建型设计模式:描述如何创建对象,包括:抽象工厂、建造、原型、单例等模式。 结构型设计模式:描述类和对象间怎样组织,如适配器、桥接、组合、装饰、外观、享元、代理等模式。 行为型设计模式:描述算法及对象间的任务分配等,如职责链、命令、迭代器、中介者、备忘录、观察者、状态、策略、访问者等模式。 UML和设计模式 * 7.3 Facade(外观)模式 UML和设计模式 * 例如:对于复杂的系统,通常采用分解为若干子系统的方式来实现 医院的例子 UML和设计模式 * 7.3.1 什么是Facade模式 为子系统中的一组接口提供一个一致的界面, Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 结构型模式 UML和设计模式 * 外观模式中的角色 Fa?ade 知道哪些子系统的类能完成用户请求的功能。可被客户调用。 将客户的请求委派给适当的子系统对象来完成。 Subsystem 每个子系统都是多个类的集合。可被客户或Fa?ade调用。 处理由Facade对象或客户对象指派的任务。 不知道Facade对象或客户对象的存在。 UML和设计模式 * 7.3.2 外观模式的例子 保安系统的例子: 该保安系统由两个录像机、三个电灯、一个遥感器、一个报警器组成。系统操作人员经常需要将这些仪器启动和关闭。 比较不使用Fa?ade模式的设计、使用Fa?ade模式的设计的不同 UML和设计模式 * UML和设计模式 * UML和设计模式 * 保安系统例子的代码示例 不使用Fa?ade模式实现的代码示例 使用Fa?ade模式实现的代码示例 UML和设计模式 * 7.4 Adapter(适配器)模式 UML和设计模式 * 适配的概念无处不在。 适配,即在不改变原有实现的基础上,将原先不兼容的接口转换为兼容的接口。 适配器模式的应用场景 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新的环境要求的接口是这些现存对象所不满足的。 如何应对这种情况,使得既能够利用现有对象的良好的实现,同时又能满足新的应用环境所要求的接口? UML和设计模式 * 例:假设客户需求描述: 为都有“显示”(display)行为的点、线、正方形分别创建类。 客户对象不必知道自己到底使用的是点、线还是正方形,它们只需知道拥有这些形状中的一个。 UML和设计模式 * 7.4.1 什么是适配器模式 适配器模式是一种结构型模式 它可将某个类的接口转换成客户希望的另外一个接口。使得原本由于接口不兼容而不能工作的类可以一起工作。 适配器模式分为两种: 类适配器:使用继承实现 对象适配器:对象组合实现 UML和设计模式 * 适配器模式中的角色 目标(Target):即所期待得到的接口(不可是类) 被适配者(Adaptee):现有的接口,需要适配,否则无法使用。 适配者(Adapter):将源接口转换为目标接口;是具体的类,是本模式的核心。 UML和设计模式 * 7.4.2 对象适配器模式 UML和设计模式 * UML和设计模式 * 对象适配器模式的一个简单的例子 有一个类(adaptee)中的一个方法实现了数学中的幂次运算,方法中需要传入两个参数,一个是基数,另外一个是幂次,java代码如下: public class Adaptee{

文档评论(0)

173****7830 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档