结构型模式之Proxy模式
来源:互联网 发布:python正则匹配 编辑:程序博客网 时间:2024/06/07 14:26
1、意图
为其他对象提供一种代理以控制对这个访问
2、适用性
在以下情况下使用Proxy模式
(1)远程代理为一个对象在不同的地址空间提供局部代表。
(2)虚代理根据需要创建开销很大的对象。
(3)保护代理控制对原始对象的访问。
(4)智能指引取代了简单的指针,它在访问对象时执行一些附加操作。
3、参与者
(1)Proxy:保存一个引用使得代理可以访问实体;提供一个与 Subject的接口相同的接口,这样代理就可以用来替代实体;控制对实体的存取,并可以负责创建和删除它;其它功能依赖于代理的类型
(2)Subject:定义RealSubject和Proxy的共用接口,这样在任何使用RealSubject的地方都可以使用Proxy
(3)RealSubject:定义Proxy代表的实体
4、协作
代理根据其种类,在适当的时候向RealSubject转发请求
5、效果
Proxy模式在访问对象时引入了一定程度的间接性,根据代理的类型,附加的间接性有多种用途:
(1)Remote Proxy可以隐藏一个对象存在于不同地址空间的事实
(2)Virtual Proxy可以进行最优化
(3)Protection Proxies 和Smart Reference都允许在访问一个对象时有一些附加的内务处理
6、相关模式
Adapter:适配器Adapter为它所适配的对象提供了一个不同的接口。相反,代理提供了与它的实体相同的接口。然而,用于访问保护的代理可能会拒绝执行实例会执行的操作,因此,它的接口实际上可能只是实例接口的一个子集
Decorator:尽管decorator的实现部分与代理相似,但decorator的目的不一样。decorator为对象添加一个或多个功能,而代理则控制对对象的访问
- 结构型模式之Proxy模式
- 【设计模式攻略】结构型模式之Proxy模式
- 结构型模式之七---Proxy
- 结构型模式之代理PROXY
- 结构模式之Proxy(代理)
- 结构模式之Proxy(代理)
- 结构模式之Proxy(代理)
- 设计模式之代理(Proxy)----对象结构型模式
- 设计模式--结构型模式之七-Proxy
- 结构型模式之代理模式(Proxy Pattern)C++实现
- 结构型模式之代理模式(Proxy)
- 结构型模式之代理模式(Proxy)
- 设计模式(结构型)之代理模式(Proxy Pattern)
- 【设计模式】结构型模式之Proxy代理
- 结构型模式之代理模式(Proxy)
- 十、结构模式之代理(Proxy)模式
- 译-设计模式-结构模式之Proxy
- Proxy代理(结构型模式)
- SPFA算法文字简介
- 【C语言】分解质因数
- 怎样用UltraISO制作U盘系统安装盘
- gdb调试
- Java随笔
- 结构型模式之Proxy模式
- Java字符串的substring真的会引起内存泄露么?
- UVA 10474 --- Where is the Marble? 二分查找
- 学习opencv第三章答案
- linux-sed命令
- JDK1.6的ConcurrentHashMap
- 删除超过50行的数据库数据
- git和svn协作
- linux-awk命令详解