1.定义:
适配器模式是将一个类的接口转换成客户端希望的另一个接口,适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。
结构与说明:
Client:客户端,调用自己需要的领域接口Target。
Target:定义客户端需要的跟特定领域相关的接口。
Adaptee:已经存在的接口,但与客户端需要的特定领域接口不一致,需要被适配。
Adapter:适配器,把Adaptee适配成Client需要的Target。
2.代码示例
(1)已经存在的应用接口,需要被适配的类Adaptee
1 package com.apdater.example1; 2 /** 3 * 将要被适配的系统接口 4 * @author admin 5 * 6 */ 7 public class Adaptee { 8 9 public void specificRequest(){ 10 11 } 12 }
(2)客户端特定领域的接口
1 package com.apdater.example1; 2 /** 3 * 客户端特定领域的接口 4 * @author zhaohelong 5 * 6 */ 7 public interface Target { 8 public void request(); 9 }
(3)适配器
1 package com.apdater.example1; 2 /** 3 * 适配器 4 * @author admin 5 * 6 */ 7 public class Adapter implements Target { 8 9 /** 10 * 持有需要被适配的对象 11 */ 12 private Adaptee adaptee; 13 /** 14 * 构造方法,传入需要被适配的对象 15 * @param adaptee 16 */ 17 public Adapter(Adaptee adaptee){ 18 this.adaptee=adaptee; 19 } 20 /** 21 * 处理方法 22 */ 23 @Override 24 public void request() { 25 //可转调已经存在的方法进行适配 26 adaptee.specificRequest(); 27 } 28 29 }
(4)客户端的调用
1 package com.apdater.example1; 2 3 public class Client { 4 public static void main(String[] args) { 5 //创建需要适配的对象 6 Adaptee adaptee=new Adaptee(); 7 //创建适配器 8 Target t=new Adapter(adaptee); 9 //发送请求 10 t.request(); 11 } 12 }
原文:http://www.cnblogs.com/luoye0726/p/4261289.html