python 设计模式之代理模式

1.代理模式是什么?

为其余对象提供一种代理以控制对这个对象的访问html

通俗的来说代理模式就是咱们生活中常见的中介python

 代理模式在平常生活中很常见,好比,你去杂货店买一个插座,而不是去生产插座的工厂去买。再好比,你去访问某个网站,你并无访问权限,但你能够经过代理去访问这个网站,而后代理再把内容传给你。安全

 

 

 

2.为何要用代理模式?

 在某些状况下,一个对象不适合或者不能直接引用另外一个对象,而代理对象能够在客户端和目标对象之间起到中介的做用网站

 

3.代理模式的组成

代理模式有3个必要的元素:spa

真实的对象(执行业务逻辑,被代理的对象).net

代理类(用户请求的一个接口,对真实目标的保护)线程

用户(获取任务的用户请求)3d

 

 

4.代理模式用在什么地方

1.远程代理,也就是为一个对象在不一样的地址空间提供局部表明。这样能够隐藏一个对象存在于不一样地址空间的事实。代理

2.虚拟代理,是根据须要建立开销大的对象。经过它来存放实例化须要很长时间的真是对象。用于惰性求值,将一个大计算量对象的建立延迟到真正须要的时候进行。例如html中,图片须要load好久,因此经过虚拟代理来代替真实的图片htm

3.安全代理,或叫保护/防御代理:控制对敏感对象的访问。用来控制真实对象访问时的权限

4.智能(引用)代理:在对象被访问时执行额外的动做。此类代理的例子包括引用计数和线程安全检查。是指当调用真实的对象时,代理处理另一些事

 

 

 

5.例子

 

 

 

 

6.小结

代理模式主要使用了Python的多态和继承,干活的是被代理类,代理类主要是接活,你让我干活,好,我交给幕后的类去干,你满意就成,那怎么知道被代理类能不能干呢?同根就成,你们知根知底,你能作啥,我能作啥都清楚得很,一样一个(基类)接口。

 

 

 

参考

 https://www.cnblogs.com/Xjng/p/3878839.html  111

https://www.cnblogs.com/lizhitai/p/4476091.html

https://cloud.tencent.com/developer/news/394367

https://blog.csdn.net/liuskyter/article/details/80362722

https://www.cnblogs.com/onepiece-andy/p/python_proxy_pattern.html

https://blog.csdn.net/ruguowoshiyu/article/details/80967560

相关文章
相关标签/搜索