代理模式中,这个模式中一个很重要的就是添加了代理,那么基于什么样的需求提出了这个代理模式?代理是什么?类图和代码中是如何使用这个代理的?使用代理之后可以达到一个什么样的效果?本篇文章将主要解决这些问题。
一、定义
代理模式 (Proxy)为其他对象提供一种代理以控制对这个对象的访问。也就是使用代理模式创建代表对象,让代表对象控制对某对象的访问,被代理的对象可以是远程的对象/ 创建开销大的对象或需要安全控制的对象。
二 、这个模式是怎么来的?
代理,顾名思义就是第三方。现实中的东西恰恰可以形象和直观的反映这个过程以及本质。就拿买房子作为例子,假如你有一套房子要卖,一种方式是你直接在网上发布出售信息,然后带着买房子的人来看房子、过户等。但是你可能很忙,你没有时间来处理这些事情,所以你需要中介,让中介帮助你处理琐碎的事情,中介就是你的代理。本来你要做的事情,现在中介帮助你一一处理,对于买房来说跟你直接的交易跟中介一样,买方甚至觉察不到你的存在,这实际上就是代理地最大 好处。同样,明星的经纪人,明星的事务都交给经纪人来处理,明星只要告诉经纪人去做什么,经纪人自然会想办法去做,做完之后加工结果告诉明星就好了。
三、类图分析:
下面是代理模式的类图: