编程思想设计模式结构模式Structural代理模式Proxy
Posted 炼狱腾蛇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编程思想设计模式结构模式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
以上是关于编程思想设计模式结构模式Structural代理模式Proxy的主要内容,如果未能解决你的问题,请参考以下文章
编程思想设计模式结构模式Structural享元模式flyweight
编程思想设计模式结构模式Structuralfront_controller
九 合成(Composite)模式 --结构模式(Structural Pattern)