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转载版
  • 相关阅读:
    多时钟域设计——控制信号传输
    时钟与复位
    注意
    有限状态机
    亚稳态
    python读取json文件制作股票价格走势
    python读取csv文件绘制气温图,x轴为日期,并填充颜色
    python读取csv文件数据绘制图像,例子绘制天气每天最高最低气温气象图
    python随机漫步
    python读取txt文件绘制散点图
  • 原文地址:https://www.cnblogs.com/demonzk/p/9035467.html
Copyright © 2011-2022 走看看