代理模式为另一个对象提供了一个替身或占位符以控制对这个对象的访问。
代理模式的应用:
- 远程代理,也就是为一个对象在不同的地址空间提供局部代理。这样可以隐藏一个对象存在于不同地址空间的事实
WebServer在.net中的应用就是这样的一个例子
- 虚拟代理,是根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真对象。
这样可以达到性能的最优化,比如说你打开一个很大的HTML网页时,里面可能有很多的文字和图片,文字很快就出来了,但是图片却是一张一张下载后才能看到,那些未打开的图片框,就是通过虚拟代理替换了真实的图片。
- 安全代理,用来控制真实对象访问时的权限。
- 智能指引,是指当调用真实的对象时,代理处理另外一些事。