适配器模式的定义:
将一个类的接口转换成客户希望的另外一个接口,适配器模式使得原本由于接口不兼容而不能在一起的那些类可以一起工作。
主要分为三类:类的适配器模式、对象的适配器模式、接口的适配器模式。
适配器模式结构图:
Client: 客户端,调用字节需要的领域接口Target。
Target:定义客户端需要的跟特定领域相关的接口。
Adaptee:已经存在的接口,通常能满足客户端的功能需求,但是接口与客户端要求的特定领域的接口不一致,需要被适配。
Adapter:适配器,把Adapt额额适配成为Client需要的Target。
适配器模式示例代码:
public interface Target { public void request(); //示意方法,客户端请求处理的方法 }
/** * 适配器 */ public class Adapter implements Target { private Adaptee adaptee; //持有需要被适配的接口对象 public Adapter(Adaptee adaptee) { //构造方法,传人需要被适配的对象 this.adaptee = adaptee; } public void request() { //可能转调已经实现了的方法,进行适配 adaptee.specificRequest(); } }
public class Adaptee { //以及存在的接口 /** * 示意方法,原本已经存在,已经实现的方法 */ public void specificRequest() { //具体的功能处理 } }
主程序:
public class Client { public static void main(String[] args) { //创建需被适配的对象 Adaptee adaptee = new Adaptee(); //创建客户端需要调用的接口对象 Target target = new Adapter(adaptee); //请求处理 target.request(); } }
适配器模式的调用顺序示意图:
适配器模式的本质:
适配器模式的本质是:转换匹配,复用功能。