Skip to content

Instantly share code, notes, and snippets.

@atsuya046
Created February 4, 2014 04:33
Show Gist options
  • Save atsuya046/8798197 to your computer and use it in GitHub Desktop.
Save atsuya046/8798197 to your computer and use it in GitHub Desktop.
GoF design pattern - Proxy
# -*- coding: utf-8 -*-
import time
class SalesManager:
def work(self):
print("Sales Manager working...")
def talk(self):
print("Sales Manager ready to talk")
class Proxy:
def __init__(self):
self.busy = 'No'
self.sales = None
def work(self):
print("Proxy checking for Sales Manager availability")
if self.busy == 'No'
self.sales = SalesManager()
time.sleep(2)
self.sales.talk()
else:
time.sleep(2)
print("Sales Manager is busy")
if __name__ == '__main__':
p = Proxy()
p.work()
p.busy = 'Yes'
p.work()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment