静态代理
共同接口
public interface Action {
void doSomething();
}
真实角色
public class RealObject implements Action {
@Override
public void doSomething() {
// TODO Auto-generated method stub
System.out.println("real object dosomething");
}
}
代理角色
package com.crown.proxy;
public class ProxyObject implements Action {
private Action realObject;
public ProxyObject(Action action) {
// TODO Auto-generated constructor stub
this.realObject = action;
}
@Override
public void doSomething() {
// TODO Auto-generated method stub
System.out.println("proxy begin do some thing");
realObject.doSomething();
System.out.println("proxy end do some thing");
}
}
测试
package com.crown.proxy;
public class TestStaticProxy {
public static void main(String[] args) {
RealObject realObject = new RealObject();
ProxyObject proxyObject = new ProxyObject(realObject);
proxyObject.doSomething();
}
}