/// <summary> /// Low level concrete pizza factory method. /// </summary> /// <param name="type">Type of pizza</param> /// <returns>Concrete Chicago Style pizza</returns> public override Pizza CreatePizza(string type) { Pizza pizza = null; switch (type.ToLower()) { case "cheese": pizza = new ChicagoCheesePizza(); break; case "pepperoni": pizza = new ChicagoPepperoniPizza(); break; case "clam": pizza = new ChicagoClamPizza(); break; case "veggie": pizza = new ChicagoVeggiePizza(); break; default: break; } return(pizza); }
protected override Pizza CreatePizza(PizzaType pizzaType) { Pizza pizza = null; var pizzaIngredientFactory = new ChicagoPizzaIngredientFactory(); switch (pizzaType) { case PizzaType.Cheese: pizza = new ChicagoCheesePizza(pizzaIngredientFactory); break; case PizzaType.Pepperoni: pizza = new ChicagoPepperoniPizza(pizzaIngredientFactory); break; case PizzaType.Clam: pizza = new ChicagoClamPizza(pizzaIngredientFactory); break; case PizzaType.Veggie: pizza = new ChicagoVeggiePizza(pizzaIngredientFactory); break; } return(pizza); }