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

  • 时间:
  • 浏览:0
  • 来源:UU直播快三官方_大发UU直播快3

将一有一一有一一5个类的接口转加上客户希望的另一有一一有一一5个接口。Adapter模式使得另一有一一有一一5个由于接口不兼容而才能同去工作的哪些类可不里能同去工作。

——《设计模式》GoF

3、实现-Adapter

2、实现-Adaptee

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

1、实现-Target

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

时需使用一有一一有一一5个由于地处的类,但接口与设计要求不符。

类适配器通无需 继承对一有一一有一一5个接口与另一有一一有一一5个接口进行匹配。

Target定义了Client使用的与特定领域相关的接口,Client通过调用Target实现某一有一一有一一5个特定的操作。Adaptee是一有一一有一一5个由于地处的类,时需与Target协同工作,这人接口时需适配。Adapter适配器适配Adaptee和Target接口。在类适配器中,通过继承获得Adaptee中的法律方法。

Adapter模式某种要求我门都我门都我门都我门都我门都我门都尽由于地使用“面向接口的编程”风格,另一有一一有一一5个才能在后期很方便地适配。

Target:标准电源

Adaptee:美国电源

Adapter:适配器

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

小注:

本文累积资料分派自网络,在此表示感谢。

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

类适配器和对象适配器可不里能根据具体实际具体情况来选者 ,但一般具体情况建议使用对象适配器模式

1.适配器模式在.NET Framework中的一有一一有一一5个最大的应用也不COM Interop。

GoF 23 定义了某种Adapter模式的实现特征:对象适配器和类适配器。但类适配器采用“多继承”的实现法律方法,带来了不良的高耦合,一点一点一般不推荐使用。对象适配器采用“对象组合”的法律方法,更符合松耦合精神。

Adapter模式主要应用于“希望复用一点现存的类,否则接口又与复用环境要求不一致的具体情况” ,在遗留代码复用、类库迁移等方面非常有用。

2..NET中的另外一有一一有一一5个适配器模式的应用也不DataAdapter。

希望创建一有一一有一一5个可不里能复用的类,该类可不里能与一点不相关的类由于是将来不可预见的类协同工作。

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

COM Interop就好像是COM和.NET之间的一座桥梁(关于COM互操作更多内容可不里能参考我的互操作系列)。COM组件对象与.NET类对象是完正不同的,但为了使.NET多多tcp连接

象使用.NET对象一样使用COM组件,微软在解决法律方法上采用了Adapter模式,对COM对象进行包装,这人包装类也不RCW(Runtime Callable Wrapper)。RCW实际上是runtime生成的一有一一有一一5个.NET类,它包装了COM组件的法律方法,并内控 实现对COM组件的调用。如下图所示:

.NET不支持多重继承,否则当Target是一有一一有一一5个类,而就有一有一一有一一5个接口时无法实现类适配器,这时时需使用对象适配器。

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

适配器模式重在转换接口,它才能使另一有一一有一一5个才能在同去工作的有一一有一一5个类同去工作,一点一点突然用在类库复用,代码迁移等方面,有某种亡羊补牢的味道

4、实现-使用

ADO.NET为统一的数据访疑问供了多个接口和基类,其中最重要的接口之一是IdataAdapter。DataAdpter起到了数据库到DataSet桥接器的作用,使应用多多tcp连接 的数据操作统一到DataSet上,而与具体的数据库类型无关。甚至可不里能针对特殊的数据源编制当事人的DataAdpter,从而使我门都我门都我门都我门都我门都我门都的应用多多tcp连接 与哪些特殊的数据源相兼容。

Adapter模式可不里能实现的非常灵活,无需拘泥于Gof23中定义的某种特征。类似,完正可不里能将Adapter模式中的“现存对象”作为新的接口法律方法参数,来达到适配的目的。