适配器模式的定义:将一个类的接口变成另一个客户端所期待的的接口,从而使原本因接口不匹配而无法在一起工作的两个类都能在一起工作。
1:目标角色:把其他类转成何种接口,也就是我们期望的接口。
package adapter;
public interface Target {
//目标角色有自己的方法
public void request();
}
package adapter;
public class ConcreteTarget implements Target{
@Override
public void request() {
System.out.println("please help me!!!");
}
}
package adapter;
public class Adaptee {
//原有的业务逻辑
public void doSomething(){
System.out.println("I'm too!!!");
}
}
3:适配器角色:适配器角色是核心角色,其他两个角色都已经存在,而适配器角色是新建立的他指责非常简单,把原角色转换成目标角色,通过继承或者类关联的方式
package adapter;
public class Adapter extends Adaptee implements Target{
@Override
public void request() {
super.doSomething();
}
}
模仿客户端
package adapter;
public class Client {
public static void main(String[] args) {
//原有的业务逻辑
Target target = new ConcreteTarget();
target.request();
//增加适配器之后的业务逻辑
Target target2 = new Adapter();
target2.request();
}
}