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(); } }
public Pizza OrderPizza(PizzaStyle pizzaStyleType) { var pizza = CreatePizza(pizzaStyleType); pizza.Prepare(); pizza.Bake(); pizza.Cut(); pizza.Box(); return(pizza); }
protected Pizza CreatePizza(PizzaStyle pizzaStyle) { return(_pizzaFactory.CreatePizza(pizzaStyle)); }