from employees import PizzaRobot, Server class Customer(object): def __init__(self, name): self.name = name def order(self, server): print self.name, "orders from", server, "at counter", server.counter def pay(self, server): print self.name, "pays for item to", server, "at counter", server.counter class Oven(object): def bake(self): print "oven bakes" class PizzaShop(object): def __init__(self): self.server = Server('Pat', 2) # Embed other objects. self.chef = PizzaRobot('Bob') # A robot named bob self.oven = Oven( ) self.cashier = Server('Matt', 1) def order(self, name): customer = Customer(name) # Activate other objects. customer.order(self.server) # Customer orders from server. self.chef.work( ) self.oven.bake( ) customer.pay(self.cashier) if __name__ == "__main__": scene = PizzaShop( ) # Make the composite. scene.order('Homer') # Simulate Homer's order. print '...' scene.order('Shaggy') # Simulate Shaggy's order.