赞
踩
代理模式:给某一个对象提供一个代理或占位符,并由代理对象来控制对原对象的访问
代理模式是常用的结构型设计模式之一,在Java RMI、Web Service、Spring AOP等技术和框架中都使用了代理模式
Subject 创建Object接口
public interface Object {
void action();
}
RealSubject 创建ObjectImpl类实现Object
public class ObjectImpl implements Object{
@Override
public void action() {
System.out.println("========");
System.out.println("========");
System.out.println("这是被代理的类");
System.out.println("========");
System.out.println("========");
}
}
Proxy 创建ProxyObject
public class ProxyObject implements Object { private Object obj; public ProxyObject() { System.out.println("这是代理类"); obj = new ObjectImpl(); } @Override public void action() { System.out.println("代理开始"); obj.action(); System.out.println("代理结束"); } }
创建测试类
public class Client {
public static void main(String[] args) {
ProxyObject proxyObject = new ProxyObject();
proxyObject.action();
}
}
运行结果
这是代理类
代理开始
========
========
这是被代理的类
========
========
代理结束
1.远程代理(RemoteProxy)为一个对象在不同的地址空间提供局部代表。
2.虚代理(VirtualProxy)根据需要创建开销很大的对象。
3.保护代理(ProtectionProxy)控制对原始对象的访问。
4.智能指引(SmartReference)取代了简单的指针,它在访问对象时执行一些附加操作。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。