#!/usr/bin/env python #http://danse.us/trac/engdiffraction/wiki/InternalTraining/UnifiedModelingLanguage from employees import PizzaRobot, Server class Customer: def __init__(self, name): self.name = name def order(self): pizzaShop = PizzaShop() print self.name, "orders from", pizzaShop.server.name pizzaShop.order() print self.name, "pays for item to", pizzaShop.server.name class Oven: def bake(self): print "oven bakes" class PizzaShop: def __init__(self): self.server = Server('Pat') # embed other objects self.chef = PizzaRobot('Bob') # a robot named bob self.oven = Oven() def order(self): self.chef.work() self.oven.bake() if __name__ == "__main__": homer = Customer('Homer') homer.order() print '...' shaggy = Customer('Shaggy') shaggy.order() # Output """ Homer orders from Pat Bob makes pizza oven bakes Homer pays for item to Pat ... Shaggy orders from Pat Bob makes pizza oven bakes Shaggy pays for item to Pat """