proxy


定义

名称:  proxy

结构:



意图:

为其他对象提供一种代理以控制对这个对象的访问。

适用性:

  • 在需要用比较通用和复杂的对象指针代替简单的指针的时候,使用Proxy模式。下面是一些可以使用Proxy 模式常见情况:
    1、远程(Remote)代理、为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是在本机器中,亦可是在另一台机器中。远程代理又叫做大使(Ambassador)。
    2、虚拟(Virtual)代理、根据需要创建一个资源消耗较大的对象,使得此对象只在需要时才会被真正创建。
    3、Copy-on-Write代理、虚拟代理的一种。把复制(克隆)拖延到只有在客户端需要时,才真正采取行动。
    4、保护(Protect or Access)代理、控制对一个对象的访问,如果需要可以给不同的用户提供不同级别的使用权限。
    5、Cache代理、为某一个目标操作的结果提供临时的储存空间,以便多个客户端可以共享这些结果。
    6、防火墙(Firewall)代理、保护目标,不让恶意用户接近。
    7、同步化(Synchronization)代理、使几个用户能够同时使用一个对象而没有冲突。
    8、智能引用(Smart Reference)代理、当一个对象被引用时,提供一些额外的操作,比如将对此对象调用的次数记录下来等。
    在所有种类的代理模式中,虚拟(Virtual)代理、远程(Remote)代理、智能引用代理(Smart Reference Proxy)和保护(Protect or Access)代理是最为常见的代理模式种类。

    效果:



经典案例

1、Java RMI stub,EJBObject
        Java RMI (Remote Method Invocation)是远程方法调用的简称,它大大增强了Java开发分布式应用的能力。

2、Jive 权限系统

最佳实践

1、


相关模式
1、

参考文章
1、 http://www.jdon.com/designpatterns/designpattern_proxy.htm
2、 http://blog.csdn.net/lxwde/archive/2004/08/06/66688.aspx
3、代理模式(阎宏) http://www.ttian.net/article/show.php?id=219
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值