在编程中咱们常常会遇到驴头不对马嘴的状况,好比之前是继承A的接口的对象,如今外部调用的时候须要该对象已B接口的形式来调用
,这个时候咱们能够让对象同时集成A和B接口来达到目的,不过,这样又违反了开闭原则,这个时候咱们能够使用适配器模式来达到目的。java
适配器模式是一种结构模式,能够帮助咱们把对象以不一样的接口方式来调用。主要由3个角色组成:编程
Adaptee 原始对象设计模式
首先,咱们让Adapter继承实现Target接口,其次在Adapter中构造Adaptee对象,而后在Target方法中调用Adaptee中相应的方法。过程很是简单。ide
下面是适配器模式的一个简单实现:this
public interface Target { void request(); 大专栏 java design pattern - adapter pattern}
public class Adaptee { public void doSomething() { System.out.println("Adaptee doSomething!!!"); } }
public class Adapter implements Target { private Adaptee adaptee; public Adapter(Adaptee adaptee) { this.adaptee = adaptee; } @Override public void request() { this.adaptee.doSomething(); } }
public class Test { public static void main(String[] args) { Target target = new Adapter(new Adaptee()); target.request(); } }
适配器是一种很是简单的设计模式,通常是用来在后期调用时发现对象的接口不匹配的时候使用,至关于一种“补充”的手段 在双方都不太容易修改的时候能够使用适配器模式。