设计模式之代理模式简介

来源:互联网 发布:淘宝返利群怎么赚钱 编辑:程序博客网 时间:2024/06/06 12:32

作用:代理模式是为了给某一对象提供一个代理以控制对这个对象的访问。

举例:

一家电脑公司。代理销售联想品牌的电脑,这个代理商本身是不生产电脑的,而且甚至可以没有电脑,但是别人可以通过这个代理商购买到联想电脑;还有就是快递公司,也是利用了代理模式,我们想寄一个礼物给远在千里之外的女友(男友),你必要亲自跑去把礼物给她(他),你可以让快递公司代替你送达。现实中有很多方面都利用了代理模式,如代理点购买火车票、ATM取钱、老板让自己秘书代接不想接的电话等。

代理模式结构图:


应用场合:

1)一个很大的对象,比如一个很大的图片,需要载入的时间很长时,可以使用代理模式解决加载问题。

2)一个需要很长时间才能完成的计算结果,并且需要在它的计算过程中显示中间结果。

3)一个存在于远程计算机上的对象,需要通过网络载入这个远程对象则需要很长时间,特别是在网络传输的高峰期时。

以上三个使用代理模式的目的是为了解决处理一些很耗时的任务。

4)一个对象只有有限的访问权限,代理模式(proxy)可以验证用户的权限时。

通过对一个对象使用代理模式可以设置不同对象对该对象的不同访问权限。

5)一个对象需要被频繁的查询和引用时。

6)一个对象被多个对象引用,当其中一个引用需要在被改写时被复制出来时。

以上两个通过使用代理模式对原对象的副本进行操作,从而提高对象的使用效率。

7)一个对象需要在多线程的使用中保证其安全性。

使用代理模式是别的对象只接触原对象的副本(代理对象),从而保证安全性。

总结:很多问题都可以通过“增加一个中间层”的方式来解决,代理模式就是很好的方法,他通过增加了类来实现间接访问业务类的目的。

 


0 0
原创粉丝点击