设计模式 - 代理(Proxy)

1. 意图

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


2. 别名

Surrogate


3. 动机

对一个对象进行访问控制的一个原因是为了只有在我们确实需要这个对象时才对它进行创建和初始化。


4. 适用性

1) 远程代理(Remote Proxy) 为一个对象在不同的地址控件提供局部代表。

2) 虚代理(Virtual Proxy) 根据需要创建开销很大的对象。

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

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


5. 结构

设计模式 - 代理(Proxy)_第1张图片


6. 代码

proxy 模式比较简单,代码就省略了

你可能感兴趣的:(设计模式 - 代理(Proxy))