结构型模式-适配器

适配器(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)参数化适配器



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值