首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

设计方式(c++)笔记之十二(Proxy模式)

2013-10-24 
设计模式(c++)笔记之十二(Proxy模式)一、描述代理模式: 为其他对象提供一种代理,并以控制对这个对象的访问。

设计模式(c++)笔记之十二(Proxy模式)
一、描述

      

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

      例子1:经典例子就是网络代理,你想访问facebook或者twitter ,如何绕过GFW,找个代理网站。

      例子2:可以调用远程代理处理一些操作如图:


设计方式(c++)笔记之十二(Proxy模式)



实用性:


      1) 远程代理(Remote  Proxy)为一个位于不同的地址空间的对象提供一个本地的代理对象。这个不同的地址空间可以是在同一台主机中,也可是在另一台主机中,远程代理又叫做大使(Ambassador)


      2) 虚拟代理(Virtual Proxy)根据需要创建开销很大的对象。如果需要创建一个资源消耗较大的对象,先创建一个消耗相对较小的对象来表示,真实对象只在需要时才会被真正创建。 


      3) 保护代理(Protection Proxy)控制对原始对象的访问。保护代理用于对象应该有不同的访问权限的时候。


      4) 智能指引(Smart Reference)取代了简单的指针,它在访问对象时执行一些附加操作。


      5) Copy-on-Write代理:它是虚拟代理的一种,把复制(克隆)操作延迟到只有在客户端真正需要时才执行。一般来说,对象的深克隆是一个开销较大的操作,Copy-on-Write代理可以让这个操作延迟,只有对象被用到的时候才被克隆。





本人的目录:


            设计方式(c++)笔记之十二(Proxy模式)


注释:

main(),西门庆

IKindWomen,定义接口

CWangPo,代理

CPanJinLian,实际执行者之一

CJiaShi,实际执行者之二

说明:代理和实际执行者派生于共同的接口,代理拥有实际执行者的实例。代理的每一个函数(接口的实现函数),直接调用实际执行者的对应接口函数。

注意:代理只是简单的装载,然后调用实际执行者的函数。

先定义一种类型的女人:IKindWomen类



参考文献:《设计模式之禅》,《GoF_23种设计模式解析》


参考博客:  http://www.cnblogs.com/wanggary/archive/2011/04/08/2009965.html    

   http://blog.csdn.net/hguisu/article/details/7542143

热点排行