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