Adapter 适配器模式(设计模式03)

  • 时间:
  • 浏览:2
  • 来源:5分6合APP下载_5分6合APP官方

3、实现-Adapter

2、本杰.NET 张波的PPT资料

2..NET中的另外一另2个 适配器模式的应用就说 DataAdapter。

类适配器和对象适配器可不能否根据具体实际状态来挑选,但一般状态建议使用对象适配器模式

COM Interop就好像是COM和.NET之间的一座桥梁(关于COM互操作更多内容可不能否参考我的互操作系列)。COM组件对象与.NET类对象是删剪不同的,但为了使.NET应用线程

象使用.NET对象一样使用COM组件,微软在除理法律最好的办法上采用了Adapter模式,对COM对象进行包装,你你这名 包装类就说 RCW(Runtime Callable Wrapper)。RCW实际上是runtime生成的一另2个 .NET类,它包装了COM组件的法律最好的办法,并内内外部实现对COM组件的调用。如下图所示:

.NET不支持多重继承,怎么让当Target是一另2个 类,而都不 一另2个 接口时无法实现类适配器,这需要要使用对象适配器。

Adapter模式五种要求朋友尽之后地使用“面向接口的编程”风格,原先不可不能否在后期很方便地适配。

Adapter模式主要应用于“希望复用有些现存的类,怎么让接口又与复用环境要求不一致的状态” ,在遗留代码复用、类库迁移等方面非常有用。

通过类的继承之后对象的组合转换已有的接口为目标接口

Target:标准电源

Adaptee:美国电源

Adapter:适配器

在国内使用的电源供电电压为220V,美国为380V,当你出差到美国,你的电器需要220V的电压,但旅馆里不提供220V,只提供380,就说 ,你到市场买了一另2个 电源适配器,在接上适配器后,旅馆里的电源就可不能否使用在你的电器上了。

2、实现-Adaptee

希望创建一另2个 可不能否复用的类,该类可不能否与有些不相关的类之后是将来不可预见的类协同工作。

Adapter模式可不能否实现的非常灵活,无须拘泥于Gof23中定义的五种价值形式。相似,删剪可不能否将Adapter模式中的“现存对象”作为新的接口法律最好的办法参数,来达到适配的目的。

1、实现-Target

适配器模式重在转换接口,它我过多 可不能否使原先只有在一同工作的一另2个 类一同工作,就说 无缘无故 用在类库复用,代码迁移等方面,有五种亡羊补牢的味道

类适配器通过多继承对一另2个 接口与原先接口进行匹配。

Target定义了Client使用的与特定领域相关的接口,Client通过调用Target实现某一另2个 特定的操作。Adaptee是一另2个 之后处于的类,需要与Target协同工作,你你这名 接口需要适配。Adapter适配器适配Adaptee和Target接口。在类适配器中,通过继承获得Adaptee中的法律最好的办法。

需要使用一另2个 之后处于的类,但接口与设计要求不符。

GoF 23 定义了五种Adapter模式的实现价值形式:对象适配器和类适配器。但类适配器采用“多继承”的实现法律最好的办法,带来了不良的高耦合,就说 一般不推荐使用。对象适配器采用“对象组合”的法律最好的办法,更符合松耦合精神。

将一另2个 类的接口转再加客户希望的原先接口。Adapter模式使得原先之后接口不兼容而只有一同工作的有有哪些类可不能否一同工作。

——《设计模式》GoF

4、实现-使用

ADO.NET为统一的数据访大问题供了多个接口和基类,其中最重要的接口之一是IdataAdapter。DataAdpter起到了数据库到DataSet桥接器的作用,使应用应用线程的数据操作统一到DataSet上,而与具体的数据库类型无关。甚至可不能否针对特殊的数据源编制被委托人的DataAdpter,从而使朋友的应用应用线程与有有哪些特殊的数据源相兼容。

对象适配器采用对象组合,通过引用一另2个 类与原先类接口 在对象适配器中通过组合获得Adaptee对象 通过调用Adaptee对象的法律最好的办法,转换后返回Target结果。

1.适配器模式在.NET Framework中的一另2个 最大的应用就说 COM Interop。

源码下载:http://download.csdn.net/detail/xunzaosiyecao/9543274

小注:

本文每段资料架构设计 自网络,在此表示感谢。

1、 C#设计模式(7)——适配器模式(Adapter Pattern)

猜你喜欢

为什么我家的的wifi信号满格,手机能显示信号,但就和没连一样 不能用,为什么

很高兴为你服务至于你的间题,很简单,只有三个白多多将会性愿因分析,展开完整版展开完整版使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。怪怪的推荐扫描二维

2020-02-20

家里网络能看电视,手机却经常连不上网,是路由器的原因吗

采纳数:40527获赞数:106725展开完正你对这些回答的评价是?收起更多回答(1)可选中俩个 或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问提。展开完

2020-02-20

游客esqfqydq476om的主页

文章:0丨粉丝:7339丨话题:0文章:1丨粉丝:38663丨话题:0数据库,NoSQLKubernetes、Docker、调度、里边件文章:104丨粉丝:8129丨话题:1阿

2020-02-20

复旦博士给机器人当语言老师,教出了英语四级水平的“阿里小蜜“

“在阿里,服务体量广,业务场景多,人工智能有更多的发挥空间,我的工作也更有价值。”Peter说。谁也想没办法,2017年3月,这人 复旦博士回国做的第一件事,是加入阿里巴巴集

2020-02-20

官方 | 从机器翻译到阅读理解,一文盘点PaddlePaddle九大NLP模型

近日,百度PaddlePaddle开源了语义表示模型ERNIE,在多个中文NLP任务上表现超越了谷歌的BERT,展示了百度在NLP技术的领先能力,同时也表明PaddlePadd

2020-02-20