ImageVerifierCode 换一换
格式:DOC , 页数:6 ,大小:131.50KB ,
资源ID:3124874      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-3124874.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(适配器模式.doc)为本站会员(sk****8)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

适配器模式.doc

1、 信 息 科 学 与 技 术 学 院设计模式论文学生姓名 李志琴 学 号 201120990 专 业 计算机应用技术 年 级 2011 级 指导老师 葛玮 适配器模式1 引言面向对象的程序设计(OOP)是在软件工业中被视为重要典范,享誉最久的一种设计思想。它对于现在的软件工程师来说已经是一项不可或缺的基本技能。OOP之所以受到如此欢迎的一个重要原因就在于它可以让开发人员在不同的项目中共享代码,提高代码的重用率。但是在实践过程中,我们却总是遇到“ 重新发明轮子”的老问题。如何提高程序设计的效率,利用以往成功案例的经验呢? 这就要用到现在软件设计中的另一个重要的概念:设计模式(Design Pat

2、terns)。 Gof一书中是这样定义的:“对被用来在特定场景下解决一般设计问题的类和相互通信的对象的描述”。每个设计模式都集中于一个特定的面向对象设计问题或设计要点,描述了在什么时候,什么条件下使用它。因为些设计模式都是从大量的成功设计实践中总结,提炼出来的通用设计结构,所以只要我们在设计过程中善于运用这些设计模式,这将会使我们的程序具有良好的可复用性和可扩展性。 在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。那么如何应对这种“迁移的变化”?如何既能利用现有对象的良好实现,同时又能满足新的应用环境所要求的接口?

3、这就是本文要说的适配器(Adapter)模式。2 适配器模式综述 2.1 定义与结构适配器模式是一种应用非常广泛的结构型设计模式。其主要意图是:将一种类的接口转换成另一种客户所希望的接口。Adapter模式使得原本因接口不兼容而无法一起工作的类可以在一起工作,其别名为包装器(Wrapper)。适配器模式既可以作为类结构型模式,也可以作为对象结构型模式。二者的区别仅在于适配器角色对于被适配角色的适配是通过继承完成的还是通过组合来完成的。1)适配器模式的参与者:Target:目标抽象类定义Client使用的域特定领域相关的接口。Adapter:适配器类对Adaptee的接口与Target接口进行适

4、配。Adaptee:适配者类定义一个已经存在的接口,这个借口需要适配。Client:客户类与复合Target借口的对象协同。2)适配器的类图类适配器使用多重继承对一个借口与另一个接口进行匹配,如下图所示。Adapter+request ().Target+request ().Adaptee+specificRequest ().ClientspecificRequest();图 1 类适配器对象适配器依赖于对象组合,如下图所示。adapteeAdapter+request ().Adaptee+specificRequest ().Clientadaptee.specificRequest(

5、);Target+request ().图 2 对象适配器3)典型代码典型的类适配器代码:public class Adapter extends Adaptee implements Target public void request()specificRequest();典型的对象适配器代码:public class Adapter extends Targetprivate Adaptee adaptee;public Adapter(Adaptee adaptee)this.adaptee=adaptee;public void request()adaptee.specificRe

6、quest(); 2.2 适配器模式的实例与解析仿生机器人现需要设计一个可以模拟各种动物行为的机器人,在机器人中定义了一系列方法,如机器人叫喊方法cry()、机器人移动方法move()等。如果希望在不修改已有代码的基础上使得机器人能够像狗一样叫,像狗一样跑,使用适配器模式进行系统设计。DogAdapter+ cry ()move ().: void: voidRobot+ cry ()move ().: void: voidDog+ wang ()run ().: void: void图 3 仿生机器人在这一例子中,Robot、DogAdapter和Dog三者的关系是和标准适配器模式中的Tar

7、get、Adapter、Adaptee三者的关系相对应的。该例子中是用多继承使原本两个接口差异较大的被适配类相互匹配。 2.3 适配器模式优缺点类适配器模式还具有如下优点:由于适配器类是适配者类的子类,因此可以在适配器类中置换一些适配者的方法,使得适配器的灵活性更强。类适配器模式的缺点如下:对于Java、C#等不支持多重继承的语言,一次最多只能适配一个适配者类,而且目标抽象类只能为抽象类,不能为具体类,其使用有一定的局限性,不能将一个适配者类和它的子类都适配到目标接口。对象适配器模式还具有如下优点:一个对象适配器可以把多个不同的适配者适配到同一个目标,也就是说,同一个适配器可以把适配者类和它的

8、子类都适配到目标接口。对象适配器模式的缺点如下:与类适配器模式相比,要想置换适配者类的方法就不容易。如果一定要置换掉适配者类的一个或多个方法,就只好先做一个适配者类的子类,将适配者类的方法置换掉,然后再把适配者类的子类当做真正的适配者进行适配,实现过程较为复杂。3 结束语适配器模式虽然是一个很常用,也比较简单的模式,但通过适配器模式能够让我们从接口的角度来考虑设计问题。它集中体现了面向对象设计的原则之一:针对接口编程,而不是针对实现编程。同时适配器模式也是对“开一闭”原则(即对扩展的开发,对修改的关闭)的具体实现。设计模式为软件设计人员提供了一种提高软件系统可靠性,可维护性以及可重用性的设计思想,我们应该在设计过程中自觉运用这一思想,这样才能是我们从一个只知写代码的软件技工成长为一名软件系统设计师。

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。