Java与模式:适配器模式
目的:
将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
意图:
- 你想使用一个已经存在的类,而它的接口不符合你的需求。
- 你想创建一个可以复用的类,该类可以与其他不相关的类或不可预见的类(即那些接口可能不一定兼容的类)协同工作。
- (仅适用于对象A d a p t e r )你想使用一些已经存在的子类,但是不可能对每一个都进行子类化以匹配它们的接口。对象适配器可以适配它的父类接口。
(目的和意图是不变的,摘自《设计模式迷你手册》电子版)下面是一个Java版的示例一、原理图:二、示例代码public class Adaptee {
public int get220v(){
return 220;
}
}
public interface Target {
int get110v();
int get220v();
}
public class Adapter extends Adaptee implements Target{
public int get110v(){
return 110;
}
}
public class Client {
public static void main(String rags[]) {
new Client().test();
}
public void test() {
Target target = new Adapter();
int v1 = target.get110v();
int v2 = target.get220v();
}
}适配器通过扩展源角色,同时实现目标接口,从而满足了同时提供220v,110v电压的要求。