Python如何实现代理模式

这篇文章主要介绍了Python如何实现代理模式的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Python如何实现代理模式文章都会有所收获,下面我们一起来看看吧。

创新互联是一家集网站建设,武汉企业网站建设,武汉品牌网站建设,网站定制,武汉网站建设报价,网络营销,网络优化,武汉网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

效果

代理模式在保证满足利用者的基本需求的前提下引入了一定的调整空间。所谓的调整可以是处理内容的增减或者处理时机的变化。通过这种调整来满足额外的需求。

RemoteProxy增加了进程间甚至是设备间的通信,这样无论对象是否处于相同进程、线程还是设备,都可以以相同的方式进行访问。

VirtualProxy调整了实际生成对象的时机,只在对象真正必要的时候才会在内存中进行构建,从而最大限度地节约了空间。

ProtectionProxy增加了登录或者认证处理,在不改变被代理对象的前提下,实现了访问控制。

无论哪种调整,核心的功能都是不变的。

实现

一般来讲,每个实例都需要管理独立的数据,以便各自修改数据的内容。例如下面的代码:

Python如何实现代理模式

代码在构建Client实例时,每次都需要拷贝一个subject对象作为自己的数据成员。否则的话,所有的实例使用的都是同一个subject。以下是执行结果,分别表示对象创建和一个实例被修改之后的状态。

Python如何实现代理模式

首先,将Subject类的内容转移到RealSubJect中,Subject只保留定义接口的功能;然后增加一个Proxy类,只在数据发生修改时才会生成subject的拷贝。

可以看到,当内容相同时,使用相同的对象,当内容不同时,则使用不同的对象。通过代理模式,一方面节约了内容相同时额外占用的内存空间,另一方面也实现了内容不同时的独立管理。重要的是,这些都是在Client不需要意识的情况下完成的。

关于“Python如何实现代理模式”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Python如何实现代理模式”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


新闻标题:Python如何实现代理模式
本文地址:http://pwwzsj.com/article/jhdcgi.html