标签:
设计模式目录:
概述
一 代理模式基本概念
二
参考
代理模式为另一个对象提供一个替身或占位符以控制这个对象的访问。
使用代理模式创建代表,让代表对象控制某些对象的访问,被代理的对象可以是远程的对象、创建开销大的对象或者需要安全控制的对象。
几种代理控制访问的方式:
远程代理
抽象对象角色
package cn.telling.rmi; /** * * @ClassName: AbstractObject * TODO * @author xingle * @date 2015-9-29 上午10:48:42 */ public abstract class AbstractObject { //操作 public abstract void operation(); }
目标对象角色
package cn.telling.rmi; /** * * @ClassName: RealObject TODO * @author xingle * @date 2015-9-29 上午10:52:49 */ public class RealObject extends AbstractObject { /** * * @Description: TODO * @author xingle * @data 2015-9-29 上午10:53:05 */ @Override public void operation() { // 一些操作 System.out.println("一些操作"); } }
代理对象角色
package cn.telling.rmi; /** * * @ClassName: ProxyObject * TODO * @author xingle * @date 2015-9-29 上午10:54:31 */ public class ProxyObject extends AbstractObject{ RealObject realObject = new RealObject(); /** * * @Description: TODO * @author xingle * @data 2015-9-29 上午10:54:43 */ @Override public void operation() { System.out.println("调用目标对象 before 操作"); realObject.operation(); System.out.println("调用目标对象 after 操作"); } }
客户端
package cn.telling.rmi; /** * * @ClassName: Client * TODO * @author xingle * @date 2015-9-29 上午10:57:54 */ public class Client { public static void main(String[] args){ AbstractObject obj = new ProxyObject(); obj.operation(); } }
执行结果:
参考:
标签:
原文地址:http://www.cnblogs.com/xingele0917/p/4845727.html