代理模式:为其他对象提供一种代理以控制对这个对象的访问.
为什么要使用Proxy?
1.授权机制 不同级别的用户对同一对象拥有不同的访问权利通过代理来控制这两种用户的访问权限.
2.某个客户端不能直接操作到某个对象,但又必须和那个对象有所互动.
code:
代理对象:
public class ProxyObject implements Object {
Object obj;//被代理对象实例
public ProxyObject() {
System.out.println("这是代理类");
obj = new ObjectImpl();
}
public void action() {
System.out.println("代理开始");
obj.action();
System.out.println("代理结束");
}
}
被代理对象:
public class ObjectImpl implements Object {
public void action() {
System.out.println("这是被代理的类");
}
}
代理对象和被代理对象共同要实现的接口:
public interface Object {
void action();
}