设计模式之十二:Proxy(代理)—对象结构型模式
2014-05-31 21:30
609 查看
2014-05-29 星期四 21:08:37
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/Wiz/9602cce6-14f0-4c79-80d8-5f5cc9283b97_4_files/C_0014[1].gif)
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/Wiz/9602cce6-14f0-4c79-80d8-5f5cc9283b97_4_files/spacer.gif)
Proxy,继续GOF。此模式未按GOF编写。
c++中使用StringBuilder
1、Intent
Provide a surrogate or placeholder for another object to control access to it.
为其他对象提供一种代理以控制对这个对象的访问。
2、Also Known As
3、Motivation
4、Applicability
在以下情况使用适配模式:
● 创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成,GoF称之为虚代理(Virtual Proxy)。
● 为网络上的对象创建一个局部的本地代理,比如要操作一个网络上的一个对象(网络性能不好的时候,问题尤其突出),我们将这个操纵的过程交给一个代理去完成,GoF称之为远程代理(Remote Proxy)。
● 对对象进行控制访问的时候,比如在Jive论坛中不同权限的用户(如管理员、普通用户等)将获得不同层次的操作权限,我们将这个工作交给一个代理去完成,GoF称之为保护代理(ProtectionProxy)。
●智能指针(Smart Pointer),关于这个方面的内容,建议参看Andrew Koenig的《C++沉思录》中的第5章。
5、Structure
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/Wiz/9602cce6-14f0-4c79-80d8-5f5cc9283b97_4_files/Proxy.JPG)
6、代码
Proxy模式最大的好处就是实现了逻辑和实现的彻底解耦。
智能指针的
7、与其他模式的区别
● 适配器模式Adapter
适配器Adapter为它所适配的对象提供了一个不同的接口。相反,代理提供了与它的实体相同的接口。然而,用于访问保护的代理可能会拒绝执行实体会执行的操作,因此,它的接口实际上可能只是实体接口的一个子集。
● 装饰器模式Decorator
尽管Decorator的实现部分与代理相似,但Decorator的目的不一样。Decorator为对象添加一个或多个功能,而代理则控制对对象的访问。
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/Wiz/9602cce6-14f0-4c79-80d8-5f5cc9283b97_4_files/C_0014[1].gif)
![](file:///C:/DOCUME~1/ADMINI~1/LOCALS~1/Temp/Wiz/9602cce6-14f0-4c79-80d8-5f5cc9283b97_4_files/spacer.gif)
Proxy,继续GOF。此模式未按GOF编写。
c++中使用StringBuilder
1、Intent
Provide a surrogate or placeholder for another object to control access to it.
为其他对象提供一种代理以控制对这个对象的访问。
2、Also Known As
3、Motivation
4、Applicability
在以下情况使用适配模式:
● 创建开销大的对象时候,比如显示一幅大的图片,我们将这个创建的过程交给代理去完成,GoF称之为虚代理(Virtual Proxy)。
● 为网络上的对象创建一个局部的本地代理,比如要操作一个网络上的一个对象(网络性能不好的时候,问题尤其突出),我们将这个操纵的过程交给一个代理去完成,GoF称之为远程代理(Remote Proxy)。
● 对对象进行控制访问的时候,比如在Jive论坛中不同权限的用户(如管理员、普通用户等)将获得不同层次的操作权限,我们将这个工作交给一个代理去完成,GoF称之为保护代理(ProtectionProxy)。
●智能指针(Smart Pointer),关于这个方面的内容,建议参看Andrew Koenig的《C++沉思录》中的第5章。
5、Structure
6、代码
Proxy模式最大的好处就是实现了逻辑和实现的彻底解耦。
智能指针的
7、与其他模式的区别
● 适配器模式Adapter
适配器Adapter为它所适配的对象提供了一个不同的接口。相反,代理提供了与它的实体相同的接口。然而,用于访问保护的代理可能会拒绝执行实体会执行的操作,因此,它的接口实际上可能只是实体接口的一个子集。
● 装饰器模式Decorator
尽管Decorator的实现部分与代理相似,但Decorator的目的不一样。Decorator为对象添加一个或多个功能,而代理则控制对对象的访问。
相关文章推荐
- 设计模式十三:proxy(代理)——对象结构型模式
- 设计模式之代理(Proxy)----对象结构型模式
- 对象结构型——代理模式(Proxy)
- 设计模式(12)-结构型-代理模式(Proxy)
- 2.7 Proxy(代理) -- 对象结构型模式
- PHP设计模式:结构型之代理(Proxy)
- Proxy(代理)-对象结构型模式
- 结构型设计模式---代理模式(Proxy)
- 设计模式(十一)代理模式Proxy(结构型)
- 23种设计模式之十二(结构型模式)Proxy模式
- 设计模式(3)-结构型-代理模式(proxy)以及java动态代理的两种方式
- 设计模式12---设计模式之代理模式(Proxy)(结构型)
- 设计模式学习之代理模式(Proxy,结构型模式)(11)
- 设计模式(十一)代理模式Proxy(结构型)
- 【结构型模式】代理模式(Proxy)之23种java设计模式
- 设计模式十二:flyweight(享元模式)——对象结构型模式
- 重学设计模式 - Proxy(代理)模式 - 结构型
- 设计模式之十二------Proxy(代理)
- 设计模式(十一)代理模式Proxy(结构型)
- 设计模式(十一)代理模式Proxy(结构型)