zoukankan      html  css  js  c++  java
  • 【编程思想】【设计模式】【结构模式Structural】代理模式Proxy

    Python版

    https://github.com/faif/python-patterns/blob/master/structural/proxy.py

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    
    """
    *TL;DR80
    Provides an interface to resource that is expensive to duplicate.
    """
    
    from __future__ import print_function
    import time
    
    
    class SalesManager:
        def talk(self):
            print("Sales Manager ready to talk")
    
    
    class Proxy:
        def __init__(self):
            self.busy = 'No'
            self.sales = None
    
        def talk(self):
            print("Proxy checking for Sales Manager availability")
            if self.busy == 'No':
                self.sales = SalesManager()
                time.sleep(0.1)
                self.sales.talk()
            else:
                time.sleep(0.1)
                print("Sales Manager is busy")
    
    
    class NoTalkProxy(Proxy):
        def talk(self):
            print("Proxy checking for Sales Manager availability")
            time.sleep(0.1)
            print("This Sales Manager will not talk to you",
                  "whether he/she is busy or not")
    
    
    if __name__ == '__main__':
        p = Proxy()
        p.talk()
        p.busy = 'Yes'
        p.talk()
        p = NoTalkProxy()
        p.talk()
        p.busy = 'Yes'
        p.talk()
    
    ### OUTPUT ###
    # Proxy checking for Sales Manager availability
    # Sales Manager ready to talk
    # Proxy checking for Sales Manager availability
    # Sales Manager is busy
    # Proxy checking for Sales Manager availability
    # This Sales Manager will not talk to you whether he/she is busy or not
    # Proxy checking for Sales Manager availability
    # This Sales Manager will not talk to you whether he/she is busy or not
    Python转载版
  • 相关阅读:
    安装MySQL5.7.19 网上的文章参考 并做了部分修改
    从hadoop一路配置到spark
    java面试问题收集(2)
    JAVA的 IO NIO AIO笔记
    Shiro
    Spring注解使用注意点
    oracle RAC
    spark随笔
    Storm知识点笔记
    真机调试手机程序,电脑插上手机数据线虚拟机中的系统就死掉
  • 原文地址:https://www.cnblogs.com/demonzk/p/9035467.html
Copyright © 2011-2022 走看看