您的位置:首页 > 其它

结构型模式-适配器

2013-05-28 14:14 113 查看
适配器(Adapter)

意图:

将一个类的接口转换成客户希望的另外一个接口。Adapter模式使得原本由于接口

不兼容而不能一起工作的那些类可以一起工作。

种类:

1> 通过类继承

2> 通过对象组合

3> 默认适配器

适用性:

以下情况下使用适配器模式

1)你想使用一个已经存在的类,而它的接口不符合你的需求。

2)你想创建一个可以服用的类,该类可以与其他不相关的类或不可预见的类

(即那些接口可能不一定兼容的类)协同工作。

3)(仅适用于对象Adapter)你想使用一些已经存在的子类,但是不可能对每一

个都进行子类化匹配它们的接口。对象适配它的父类接口。

效果:

类适配器和对象适配器有不同的权衡。类适配器

1)用一个具体的Adapter类对Adaptee和Target进行匹配。

2)使得Adapter可以重定义Adaptee的部分行为,因为Adapter是Adaptee的一个

子类。

3)仅仅引入一个对象,并不需要额外的指针以间接得到adaptee。

对象适配器

1)允许一个Adpater与多个Adaptee--即Adaptee本身以及它的所有子类(如果有子

类的话)--同时工作。Adapter也可以一次给所有的Adaptee添加功能。

2)使得重定义Adaptee的行为比较困难。这就需要生成Adaptee的子类并且使得

Adapter引用这个子类而不是引用Adaptee本身。

实现:

尽管Adapter模式的实现方式通常简单直接,但是仍需要注意以下一些问题:

1)使用C++实现适配器

2)可插入的适配器

对这个窄接口,有以下三个实现途径:

a)使用抽象操作

b)使用代理对象

c)参数化适配器

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: