代理模式

什么是代理模式br> 为其他对象提供一种代理以控制对其他对象的访问。
自己理解起来就是,你不想做某件事情,然后你让别人替你做这件事情了。其实就是客户端和目标对象之间的中介。

代理模式的优缺点
优点:
1、将代理对象和真实被调用的目标对象分离
2、降低了系统的耦合度,扩展性好
3、保护目标对象
4、增强目标对象
缺点:
1、类的数目增加
2、客户端和目标对象增加一代理对象,会造成请求速度变慢
3、系统更加复杂

代理模式代码部分
1、先来看一下代理模式的类图

代理模式
2、具体代码部分
① subject类:定义真实实体和代理者的公共接口。这样使用真实实体的地方都可以使用代理

② RealSubject类:真实实体类

③ Proxy类:保存一个引用使得代理可以访问实体,并提供一个与subject的接口相同的接口,这样子代理就可以替代实体。

④ 客户端

代理模式的适用情况

1、 远程(Remote)代理:
官方解释:为一个位于不同的地址空间的对象提供一个局域代表对象。这个不同的地址空间可以是本电脑中,也可以在另一台电脑中。

举例:最典型的例子就是——客户端调用Web服务或WCF服务。
A国要将贡品给B国,然后派去B过的大使。但是这个大使有事情发生还是要与A国商量。里面的大使就是远程代理。

2、 虚拟(Virtual)代理:
官方解释:根据需要创建一个资源消耗较大的对象,使得对象只在需要时才会被真正创建。

举例:典型案例:浏览器当图片没有出来时,而会显示未打开的图片框来代替真实图片。
一个老板,一个助理。大家找这个老板谈事情的时候都需要预约,这个预约是交给助理来做的,助手会把预约添加到计划列表里面。只有执行任务列表里的任务的时候,老板才需要现身处理。其实大家都是来找老板做事的。

3、 安全代理:
官方解释:控制一个对象的访问,可以给不同的用户提供不同级别的使用权限。

举例:在 络购物时的付款方式,是买方先将货款支付给一个有信用的、安全的中间平台,买方确认收到货物后,再通知中间平台将货款支付给卖方。在这个过程中,中间平台就起到了“安全代理”的作用。

4 、智能引用(Smart Reference)代理:
官方解释:当一个对象被引用时,提供一些额外的操作。

举例:Office助手就是一种智能代理,这些代理软件通常会在适当的时候帮助人们完成最迫切需要完成的任务。

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月3日
下一篇 2019年4月3日

相关推荐