代理模式——结构型设计模式之六

最后更新于:2022-04-01 09:30:15

## 一、代理模式 为其他对象提供一种代理以控制对这个对象的访问。 例子是这么说的: A同学追C 同学,可是A同学不敢直接送东西给C同学,于是就通过B同学把东西转交给C同学。B同学送给C同学的东西都是A同学的,也就是说B的所有动作A同学的本意,并非B的本意哦!最后,B同学和C同学在一起了,当然这是故事情节,不管他了。这里的B同学就是我们要说的代理模式的代理。 **重点**:我们知道B送给C的东西和他发出的动作其实都是从A那拿来的,即代理只是引用真实实体的方法。 这个模式理解的稀里糊涂?请大家帮忙指点一下。 一个对象是不是可以有多个代理呢? 针对不同要访问的对象设置不同的代理。 ## 二、类图 ![](https://docs.gechiui.com/gc-content/uploads/sites/kancloud/2016-02-18_56c5ce72d1924.png) ## 三、代理模式的应用 1、远程代理:为一个对象在不同的地址空间提供局部代表。这样可以隐藏一个对象存在于不同地址空间的事实。 2、虚拟代理:根据需要创建开销很大的对象。通过它来存放实例化需要很长时间的真实对象。 3、安全代理:用来控制真实对象访问时的权限。 4、智能指引:是指当调用真实的对象时,代理处理另外一些事。
';