为其他对象提供一种代理以控制对这个对象的访问。
package com.lyz.design.proxy;
/**
* Proxy
* @author binghe
*
*/
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("代理结束");
}
}
package com.lyz.design.proxy;
/**
* Subject
* @author binghe
*
*/
public interface Object {
void action();
}
package com.lyz.design.proxy;
/**
* RealSubject
* @author binghe
*
*/
public class ObjectImpl implements Object {
public void action() {
System.out.println("========");
System.out.println("========");
System.out.println("这是被代理的类");
System.out.println("========");
System.out.println("========");
}
}
package com.lyz.design.proxy;
/**
* Test
* @author binghe
*
*/
public class Test {
public static void main() {
Object obj = new ProxyObject();
obj.action();
}
}
这是代理类
代理开始
========
========
这是被代理的类
========
========
代理结束