牵着老婆满街逛

严以律己,宽以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

Proxy(代理)模式

Proxy(代理)-对象结构型模式 - 设计模式


1. 意图

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

2. 别名

Surrogate

4. 适用性

远程代理(Remote Proxy)为一个对象在不同的地址空间提供局部代表.
虚代理(Virtual Proxy) 根据需要创建开销很大的对象.
保护代理(Protection proxy) 控制对原是对象的访问.
智能指针(Smart Reference)

远程(Remote)代理: 为一个位于不同地址空间的对象提供一个局域代表对象.
虚拟(Virtual)代理:  根据需要创建一个资源消耗较大的对象. 使此对象只有在真正需要时才真正被创建.
Copy_on_Write代理: 即写时复制技术. 它是虚拟代理的一种. 把复制拖延到真正需要的时候才进行.
保护(Protect or Access)代理: 控制对一个对象的访问. 需要的时候可以给不同的用户提供不同的权限.
Cache代理: 为某一个目标操作的结果提供临时的存储空间. 
防火墙(Firewall)代理: 保护目标. 不让恶意用户接近.
同步化(Synchronization)代理: 例如在多线程的时候.让多个线程访问对象. 智能引用(Smart Reference)代理: 见智能指针.
                                             --《Java与模式》


5. 结构



6. 参与者

Proxy
    ----保存一个被代理的实体的引用.通过该引用控制实际对象.
    ----提供一个与Subject相同的接口.这样代理就可以代替实体.
    ----控制对实体的存取.并可能负责创建和删除它.
    ----其它功能.
Subject
    ----定义了RealSubject和Proxy的共用接口. 这样就可以在使用RealSubject的地方
        使用Proxy.
RealSubject
    ----定义Proxy所代表的实体.

posted on 2008-05-04 14:21 杨粼波 阅读(550) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理