概念
将一个类的接口变换成客户端所期待的另一种接口,从而使原本因接口不匹配而无法在一起工作的两个类能够在一起工作。
convert the interface of a class into another interface clients expect. Adapter lets classes work together that couldn’t otherwise because of incompatible interfaces.
适配器模式类图
public interface Target {
//目标角色有自己的方法
public void request();
}
public class ConcreteTarget implements Target {
@Override
public void request() {
System.out.println("I have nothing to do. if you need any help,pls call me!"); }
}
public class Adaptee {
//源角色原有的业务逻辑
public void doSomething(){
System.out.println("I'm kind of busy,leave me alone,pls!");
}
}
public class Adapter extends Adaptee implements Target {
@Override
public void request() {
super.doSomething();
}
}
public class Client {
public static void main(String[] args) {
//原有的业务逻辑
Target target = new ConcreteTarget();
target.request();
//现在增加了适配器角色后的业务逻辑
Target target2 = new Adapter();
target2.request();
}
}