适配器模式在软件体系结构中的应用.docVIP

适配器模式在软件体系结构中的应用.doc

  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文档。上传文档
查看更多
适配器模式在软件体系结构中的应用.doc

适配器模式在软件体系结构中的应用   摘 要:本文主要讨论了软件设计模式中的适配器模式在软件体系结构中的应用,主要介绍了适配器模式的概念,适配器模式的实现,对象适配器和类适配的区别以及适配器模式的优缺点。通过讨论适配器模式的实现方式和特点来帮助设计良好的软件结构,从而提高软件开发的效率。   关键词:适配模式;软件体系结构;设计模式   中图分类号:TP311   从20世纪60年代开始,随着“软件危机”的产生,开始对软件工程方法进行更进一步的研究,起初软件设计主要侧重于数据结构和算法的选择上,但随着软件系统的规模日益庞大和愈加复杂,软件系统的结构设计变得尤为重要。伴随着软件危机程度的加剧,软件体系结构(SoftWare architecture)的概念也应运而生。软件体系结构主要着眼于软件系统的全局组织形式,从整体上把握系统各个模块之间的联系和相互作用,从一个高层设计的的抽象层次来表征一个系统,从而简化了理解庞大系统的能力。软件体系结构包括构件、连接件和约束,它是可预制和可重构的软件框架结构。   设计模式是一种用于解决在特定环境下重复出现的特定问题的解决方案,软件设计模式就是在面向对象的软件架构设计中为了解决一个特定问题的解决方案。软件设计模式有四个基本组成要素:模式名称、问题、解决方案和效果。按照GOF提出的23个软件设计模式将其分为三类:创建型模式、结构型模式和行为型模式。创建型模式通过抽象对象实例化的过程来帮助创建对象的实例,结构型模式用于描述如何组合类和对象以获得更大的结构,行为型模式用于描述算法和对象间的职责分配。   1 适配器模式简介   适配器模式是结构型模式当中的一种,将一个类的接口转换成用户希望的另一个接口,从而使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。适配器模式的主要功能是进行转换匹配,目的是复用已有的功能,而不是来实现新的接口。也就是说,客户端需要的功能应该是已经实现好了的,不需要适配器模式来实现,适配器模式主要负责把不兼容的接口转换成客户端所期望的样子就可以了。在标准的适配器模式当中,根据适配器的实现方式,适配器可以分为对象适配器和类适配器,对象适配器采用对象组合的方式类实现,类适配器采用多重继承实现多个接口来实现。   适配器的模式结构图如图所示,Client表示客户端,需要调用领域接口 Target;Target定义了客户端需要的跟特定领域相关的接口;Adaptee是已经存在的接口,通常能够满足客户端的功能需求,但是接口与客户端需求的特定领域接口不一致,需要被适配;Adapter是适配器,用于将Adaptee适配成Client需要的Target。适配器模式的调用顺序示意图如图所示。   2 适配器模式的实现   在实现适配器的时候,适配器通常是一个类,一般会让适配器类去实现Target接口,然后再适配器的具体实现里面调用Adaptee,也就是说适配器通常是一个Target类型,而不是一个Adaptee类型。在实际开发的过程当中,适配器也可以实现一些Adaptee没有实现但在Target中定义的功能。这种情况下就需要在适配器的实现里面加入新功能的实现,新加入功能的实现会用到很多Adaptee的功能,相当于利用Adaptee的功能来实现更高层的功能。当然也可以完全实现新加入的功能,和已有的功能都不相关,从而变相的扩展了功能。这样的适配器我们也通常称之为智能适配器。   另外适配器在适配的时候,也可以适配多个Adaptee,也就是说实现某个新的Target功能的时候需要调用多个模块的功能,适配多个模块的功能才能满足新接口的要求。适配器Adapter实现的复杂程度通常取决于Target和Adaptee的相似程度。如果相似度很高,比如只有方法名称不一样,那么Adapter只需要简单的转调一下接口就可以了。如果相似程度较低的话,比如所定义的方法的功能完全不一样,在Target中定义了一个方法,而在Adaptee中定义了三个更小的方法,那么这个时候在实现Adapter的时候就需要组合调用了。   3 对象适配器和类适配器   根据适配器的实现方式,适配器可以分为两种:对象适配器和类适配器。对象适配器主要依赖于对象的组合,是动态组合的方式;而类适配器主要采用多重继承对一个接口和另一个接口进行匹配,是静态的定义方式。对于类适配器,由于适配器直接继承了Adaptee,是的适配器不能喝Adaptee的子类一起工作,因为继承是静态的关系,当适配器继承了 Adaptee后,就不能再去处理Adaptee的子类了。而对于对象适配器,允许一个Adapter和多个Adaptee,包括Adaptee和它所有的子类一起工作。因为对象适配器采用的是对象组合的方式,只要对象类型正确,是

文档评论(0)

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

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

1亿VIP精品文档

相关文档