Exemplo n.º 1
0
        protected override Pizza CreatePizza(string type)
        {
            Pizza pizza = null;
            IPizzaIngredientFactory ingredientFactory = new CaliforniaPizzaIngredientFactory();

            if (type == "cheese")
            {
                pizza      = new CheesePizza(ingredientFactory);
                pizza.Name = "California Style Cheese Pizza";
            }
            else if (type == "pepperoni")
            {
                pizza      = new VeggiePizza(ingredientFactory);
                pizza.Name = "California Style Veggie Pizza";
            }
            else if (type == "clam")
            {
                pizza      = new ClamPizza(ingredientFactory);
                pizza.Name = "California Style Clam Pizza";
            }
            else if (type == "veggie")
            {
                pizza      = new VeggiePizza(ingredientFactory);
                pizza.Name = "California Style Veggie Pizza";
            }

            return(pizza);
        }
Exemplo n.º 2
0
        public override Pizza CreatePizza(EnumTypePizza type)
        {
            Pizza pizza = null;
            IPizzaIngredientFactory ingredientFactory = new CaliforniaPizzaIngredientFactory();

            switch (type)
            {
            case EnumTypePizza.Cheese:
                pizza      = new CheesePizza(ingredientFactory);
                pizza.Name = nameof(CheesePizza);
                break;

            case EnumTypePizza.Greek:
                pizza      = new GreekPizza(ingredientFactory);
                pizza.Name = nameof(GreekPizza);
                break;

            case EnumTypePizza.Pepperoni:
                pizza      = new PepperoniPizza(ingredientFactory);
                pizza.Name = nameof(PepperoniPizza);
                break;

            case EnumTypePizza.Clam:
                pizza      = new ClamPizza(ingredientFactory);
                pizza.Name = nameof(ClamPizza);
                break;

            case EnumTypePizza.Veggies:
                pizza      = new VeggiesPizza(ingredientFactory);
                pizza.Name = nameof(VeggiesPizza);
                break;

            default:
                throw new ApplicationException($"Type {type} not implemented.");
            }
            return(pizza);
        }