八、代理模式
代理模式顾名思义就是构建一个代理类,来接管原来的类的工作,比如家里水管爆了,自己不修,则请工人来维修,买房子,自己请中介帮忙买,例子的工人、中介就是一个代理。下面请看代码实现:
public interface Source {
public void method();
}
public class CocretSource implements Source {
@Override
public void method() {
System.out.println("执行原始方法!");
}
}
public class Proxy implements Source {
private CocretSource source;
public Proxy(CocretSource source){
this.source = source;
}
@Override
public void method() {
System.out.println("代理前");
source.method();
System.out.println("代理后");
}
}
public class Client {
public static void main(String[] args) {
Source source = new Proxy(new CocretSource());
source.method();
}
}
代理模式的应用场景:当需求修改了,考虑到兼容问题,不能修改原有方法的前提下,此时构建一个代理类来升级接口,就可以用代理模式来实现。