适配器模式(Adapter pattern)

--[i]Head First Design Pattern[/i]

定义:
适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。

"两种适配器"
1、对象适配器(组合)
利用组合的方式将请求传送给被适配者。
[img]/upload/attachment/58840/940e895d-8f83-38dc-9d6e-e52311ab07a8.bmp[/img]
2、类适配器(继承)
在支持多重继承的语言里,利用多重继承实现。


Java:在Java中只能使用对象适配器方式。

客户使用适配器的过程如下:
1、客户通过目标接口调用适配器的方法对适配器发出请求;
2、适配器使用被适配者接口把请求转换成被适配者的一个或多个调用接口;
3、客户接收到调用的结果,但未察觉这一切是适配器在起转换作用。

涉及角色:
1、客户 2、目标接口(target interface) 3、适配器 4、被适配者


枚举迭代器适配器

public class EnumerationIterator implements Iterator{ //实现目标接口
private Enumeration enum; //被适配者

public EnumerationIterator(Enumeration enum){ //传入被适配者
this.enum = enum;
}

public boolean hasNext(){
return enum.hasMoreElements();
}
public Object next(){
return enum.nextElement();
}
//不支持此方法
public void remove(){
throw new UnsupportedOperationException();
}
}

要点分析:
1、客户只看到目标接口;
2、适配器实现目标接口;
3、适配器与被适配者组合;
4、所有的请求都委托给被适配者。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值