public Pizza CreatePizza(PizzaStyle pizzaStyleType)
        {
            switch (pizzaStyleType)
            {
            case PizzaStyle.Pepperoni:
                return(new PepperoniPizza(_ingredientFactory));

            case PizzaStyle.Cheese:
                return(new CheesePizza(_ingredientFactory));

            case PizzaStyle.Greek:
                return(new GreekPizza(_ingredientFactory));

            case PizzaStyle.Mushroom:
                return(new MushroomPizza(_ingredientFactory));

            case PizzaStyle.Street:
                return(new StreetPizza(_ingredientFactory));

            case PizzaStyle.Veggie:
                return(new VeggiePizza(_ingredientFactory));

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Esempio n. 2
0
        public Pizza OrderPizza(PizzaStyle pizzaStyleType)
        {
            var pizza = CreatePizza(pizzaStyleType);

            pizza.Prepare();
            pizza.Bake();
            pizza.Cut();
            pizza.Box();

            return(pizza);
        }
Esempio n. 3
0
 protected Pizza CreatePizza(PizzaStyle pizzaStyle)
 {
     return(_pizzaFactory.CreatePizza(pizzaStyle));
 }