适配器模式是一种补救模式,解决开发阶段后期接口不相容的问题,它能把两个不相关的类,关联在一起
第一步,新建一个普通接口,及其相关实现(假想这个类已经投入运营,不想再改了)
public interface Target {
//一个在实际环境接口的方法,要求不改这个方法实现扩展
void doSomething();
}
public class TargetImpl implements Target{
@Override
public void doSomething() {
System.err.println("我是具体的实现类");
}
}
在新建一个类,跟上面完全无关,但是需求要把它强制联合在一起
//另一个普通的类
public class Adaptee {
public void doit(){
System.err.println("我是一个方法,我想在target 的dosomthing方法里生存");
}
}
新建设计模式里常说的适配器,就是相当于媒婆,把上面两个类撮合在一起
public class Adapter extends Adaptee implements Target{
@Override
public void doSomething() {
//实现Target 那么这个类就可以有doSomething 方法
super.doit();
}
}
新建场景测试类测试
public class Client {
public static void main(String[] args) {
Target target = new TargetImpl();
target.doSomething();
Target adapter = new Adapter();
adapter.doSomething();
}
}
网友评论