
1、适配器模式( Adapter)定义
将一个类的接口转换成客户希望的另外一个接口。Adapter 模式使得原来由于接口不兼容而不能一起工作的 那些类可以一起工作。 现实案例如下:
墙上电源类(220 伏)
笔记本类(客户,需要的电压<36 伏)
适配器类(将 220 伏墙上电源类转换为<36 伏的电压)
2、模式场合
当系统的数据和行为都正确,但接口不符时,此时可以考虑用适配器,目的是使控制范围之外的一个原有对 象与某个接口匹配。适配器模式主要应用于希望复用一些现存的类,但是接口又与复用环境要求不一致的情况, 比如在需要对早期代码复用一些功能等应用上很有实际价值。 适配器模式有两种类型:类适配器模式和对象适配器模式,由于类适配器模式通过多重继承实现,不提倡使 用,这里主要讲解对象适配器模式。
3、适配器模式举例代码
3.1、Target类
package com.designmode.adapter; public interface Target { void request();
}
Target
3.2、Adaptee类
package com.designmode.adapter; public class Adaptee { public void specificRequest(){
System.out.println("特殊请求");
}
}
Adaptee
3.3、Adapter类
package com.designmode.adapter; public class Adapter implements Target { private Adaptee adaptee; public Adapter() {
adaptee = new Adaptee();
} @Override
public void request() {
adaptee.specificRequest();
} }
Adapter
3.4、测试类AdapterTest
package com.designmode.adapter; public class AdapterTest { public static void main(String[] args) {
Target target = new Adapter();
target.request();
}
}
AdapterTest