适配器模式:将接口的真实指向改变了,改变了其内部的实现方式,把本来不兼容的东西,兼容起来;
//正常的逻辑
public class Target {
public void required(){
System.out.println("正常的方法访问!");
}
}
//要改变成的逻辑
public class NewTarget {
public void request(){
System.out.println("难搞客户的特殊方法请求!");
}
}
//定义一个适配器
public class Adaptor extends Target{
NewTarget newTarget = new NewTarget();
@Override
public void required() {
newTarget.request();
}
}
//客户端
public class Client {
public static void main(String[] args) {
System.out.println("正常调用");
Target target = new Target();
target.required();
System.out.println("修改实现");
Target adaptor = new Adaptor();
adaptor.required();
}
}
运行结果:
正常调用
正常的方法访问!
修改实现
难搞客户的特殊方法请求!
可以看到结果,单纯只是改变了实现,如果改为Spring注入那种方式,客户端可以完全不用修改就可以使用到新的功能了;只要是用在兼容性的方面;