Beispiel #1
0
        protected override AbstractPizza CreatePizza(PizzaTypesEn type)
        {
            var ingredientsFactory = new ChicagoIngredientsFactory();

            switch (type)
            {
            case PizzaTypesEn.Cheese:
                return(new CheesePizza(ingredientsFactory)
                {
                    Name = "Chicago Style Cheese Pizza"
                });

            case PizzaTypesEn.Veggie:
                return(new VeggiePizza(ingredientsFactory)
                {
                    Name = "Chicago Style Veggie Pizza"
                });

            case PizzaTypesEn.Clam:
                return(new ClamPizza(ingredientsFactory)
                {
                    Name = "Chicago Style Clam Pizza"
                });

            case PizzaTypesEn.Pepperoni:
                return(new PepperoniPizza(ingredientsFactory)
                {
                    Name = "Chicago Style Pepperoni Pizza"
                });

            default:
                throw new System.NotImplementedException();
            }
        }
Beispiel #2
0
        public void OrderPizza(PizzaTypesEn type)
        {
            var pizza = CreatePizza(type);

            pizza.Prepare();
            pizza.Bake();
            pizza.Cut();
            pizza.Box();
        }
Beispiel #3
0
        protected override AbstractPizza CreatePizza(PizzaTypesEn type)
        {
            switch (type)
            {
            case PizzaTypesEn.Cheese:
                return(new ChicagoCheesePizza());

            case PizzaTypesEn.Veggie:
                return(new ChicagoVeggiePizza());

            case PizzaTypesEn.Clam:
                return(new ChicagoClamPizza());

            case PizzaTypesEn.Pepperoni:
                return(new ChicagoPepperoniPizza());

            default:
                throw new System.NotImplementedException();
            }
        }
Beispiel #4
0
 protected abstract AbstractPizza CreatePizza(PizzaTypesEn type);