代理模式 #
在某些应用中我们想要访问一个或者多个重要的操作,有时会进行一些敏感操作,在允许用户进行这些敏感操作的之前,我们希望确保用户具备足够的权限,操作系统也存在这样的情况,如在执行某些操作的时候必须有管理员权限才可以进行。
常见的知名代理模式 #
- 远程代理:实际存在于不同地址空间的对象在本地的代理
- 虚拟代理:用于懒初始化,将一个大计算量对象的创建延迟到真正需要的时候
- 保护/防护代理:控制对敏感对象的访问
- 智能(引用)代理:在对象被访问时执行额外的动作,此类代理的例子包括引用计数和线程安全检查。
虚拟代理,代码示例https://github.com/lanms/Python_design_pattern/blob/master/09-proxy_pattern/09-1-Lazy.py
代理模式代码 https://github.com/lanms/Python_design_pattern/blob/master/09-proxy_pattern/09-2-proxy.py