真实对象的接口
package com.brendan.cn.pattern.proxy.e1;
public interface Subject {
void request();
}
真实对象
package com.brendan.cn.pattern.proxy.e1;
public class RealSubject implements Subject {
@Override
public void request() {
}
}
代理对象
package com.brendan.cn.pattern.proxy.e1;
public class Proxy implements Subject {
private RealSubject realSubject;
public void setRealSubject(RealSubject realSubject) {
this.realSubject = realSubject;
}
@Override
public void request() {
//在转调之前可以执行一些功能处理
//转调真正的目标方法
realSubject.request();
//在转调之后可以执行一些功能处理
}
}