大话设计模式之Python实现【代理模式】

本文详细介绍了代理模式的概念及其三种常见应用场景:远程代理、虚拟代理和安全代理。通过具体代码实例展示了如何实现一个简单的代理模式。
# coding=utf8

__author__ = 'smilezjw'


class Subject(object):
    """
    Subject类定义了RealSubject和Proxy的共用接口
    """
    def Request(self):
        pass


class RealSubject(Subject):
    """
    RealSubject类定义Proxy所代表的真实实体
    """
    def Request(self):
        print 'Real request'


class Proxy(Subject):
    """
    通过引用来访问实体
    """
    def Request(self):
        real_subject = RealSubject()
        real_subject.Request()

if __name__ == '__main__':
    proxy = Proxy()
    proxy.Request()

代理模式为其他对象提供一种代理以控制对这个对象的访问。代理模式使用场合:

1.远程代理:为一个对象在不同的地址空间提供局部代表,如项目中添加Web引用会生成WebReference文件,其实这些文件就是代理,使得客户端调用代理就可以解决远程访问Web的问题。

2.虚拟代理:比如有很多文字和图片的HTML网页,用户能够很快的打开看到文字和图片框,就是通过虚拟代理替代了真实的图片,代理存储了真实图片的路径和尺寸。

3.安全代理:用来控制真实对象的访问权限。

转载于:https://my.oschina.net/zhangjiawen/blog/480311

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值