from employees import PizzaRobot, Server    # Z przykładu 31.1

class Customer:
    def __init__(self, name):
        self.name = name
    def order(self, server):
        print(self.name, 'zamawia od', server)
    def pay(self, server):
        print(self.name, 'płaci za zamówienie', server)

class Oven:
    def bake(self):
        print('piec piecze')

class PizzaShop:
    def __init__(self):
        self.server = Server('Ernest')         # Osadzenie innych obiektów
        self.chef   = PizzaRobot('Robert')     # Robot o imieniu Robert
        self.oven   = Oven()

    def order(self, name):
        customer = Customer(name)           # Aktywacja innych obiektów
        customer.order(self.server)         # Klient zamawia od kelnera
        self.chef.work()
        self.oven.bake()
        customer.pay(self.server)

if __name__ == '__main__':
    scene = PizzaShop()                     # Utworzenie kompozytu
    scene.order('Amadeusz')                 # Symulacja zamówienia Amadeusza
    print('...')
    scene.order('Alekskander')              # Symulacja zamówienia Aleksandra

