JAVA-设计模式之代理模式

来源:互联网 发布:linux 面试题 编辑:程序博客网 时间:2024/06/15 14:37

代理模式(Proxy):对其它对象提供一种代理,以控制对这个对象的访问!

 

package caosc.javaModel.Proxy;public abstract class Subject {public abstract void Request();}


 

package caosc.javaModel.Proxy;public class RealSubject extends Subject {@Overridepublic void Request() {System.out.println("真实的请求!");}}


 

package caosc.javaModel.Proxy;public class Proxy extends Subject {RealSubject rsb;@Overridepublic void Request() {  if(null==rsb){ rsb = new RealSubject();  }  rsb.Request();}}


 

package caosc.javaModel.Proxy;public class TestProxy {public static void main(String[] args) {Proxy p = new Proxy();p.Request();}}


代理模式应用:

1、远程代理,为一个对象在在不同的地址空间提交局部代表,这样隐藏一个对象在不同地址地址控件的真实;

2、虚拟代理,创建开销很大的对象,用它来存放需要实例化很长时间的对象,比如网页图片加载优化;

3、安全代理,用来控制对象访问时的权限;

4、智能指引,当调用真实对象时候,代理处理另外一些事情,比如当第一次引用一个持久化对象时候将对象放入内存;或者在访问一个对象的时候,检查是否锁定,都是通过在访问一个对象的时候,增加一些内务事物;

 

原创粉丝点击