- 适配器模式,将类的接口转化为想要的接口样式。
- 外观模式,让对象包装起来,以简化接口。
鸭子##
鸭子,依然是鸭子的例子。如何让一只火鸡通过包装适配器成为一个鸭子呢?
通过适配器,让火鸡实现鸭子的接口!
public class TurkeyAdapter implements Duck{
Turkey Turkey;
public TurkeyAdapter(Turkey turkey){
this.Turkey = turkey;
}
public void quack(){
turkey.globble();
}
public void fly(){
turkey.fly();
}
}
- 客户通过目标接口,调用适配器的方法对适配器发出请求。
- 适配器使用被适配器接口把请求转换成背适配者的一个或多个调用接口。
- 客户接受到调用的结果,但是并不能察觉这一切是适配器在作用
适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不兼容的类可以合作无间。
这是对象适配器模式
实例:用枚举类适配到迭代器
枚举只能对集合内元素进行遍历,而迭代器除此之外,还可以删除元素。那么实现remove()方法时,只能进行抛出异常的形式进行假实现。
注意与装饰模式进行区别:
- 装饰模式知识增加责任而不进行接口转变
- 适配器是将一个接口转换成另一个接口。