Exemplo n.º 1
0
    public override IPizza GetPizza(ToppingType tType)
    {
        IPizza currentPizza;

        switch (tType)
        {
        case ToppingType.Cheese:
            IPizza cheeseZa = new CheesePizza();
            currentPizza = cheeseZa;
            return(currentPizza);

        case ToppingType.Pepperoni:
            IPizza pepZa = new CheesePizza();
            pepZa        = new Pepperoni(pepZa);
            currentPizza = pepZa;
            return(currentPizza);

        case ToppingType.Sausage:
            IPizza sausageZa = new CheesePizza();
            sausageZa    = new Sausage(sausageZa);
            currentPizza = sausageZa;
            return(currentPizza);

        case ToppingType.Supreme:
            IPizza supremeZa = new CheesePizza();
            supremeZa    = new Supreme(supremeZa);
            currentPizza = supremeZa;
            return(currentPizza);

        case ToppingType.BbqChicken:
            IPizza bbqZa = new CheesePizza();
            bbqZa        = new BBQChicken(bbqZa);
            currentPizza = bbqZa;
            return(currentPizza);

        case ToppingType.Margherita:
            IPizza margZa = new CheesePizza();
            margZa       = new Margherita(margZa);
            currentPizza = margZa;
            return(currentPizza);
        }
        return(null);
    }
        static void Main(string[] args)
        {
            var pizza = new Margherita();

            Console.WriteLine("Plain Margherita: " + pizza.GetPrice().ToString());

            var moreCheese     = new ExtraCheeseTopping(pizza);
            var someMoreCheese = new ExtraCheeseTopping(moreCheese);

            Console.WriteLine("Plain Margherita with double extra cheese: " + someMoreCheese.GetPrice().ToString());

            var moreMushroom = new MushroomTopping(someMoreCheese);

            Console.WriteLine("Plain Margherita with double extra cheese with mushroom: " + moreMushroom.GetPrice().ToString());

            var moreJalapeno = new JalapenoTopping(moreMushroom);

            Console.WriteLine("Plain Margherita with double extra cheese with mushroom with Jalapeno: " + moreJalapeno.GetPrice().ToString());

            Console.ReadLine();
        }
Exemplo n.º 3
0
    static void Main()
    {
        //Client-code
        Margherita pizza = new Margherita();
        Console.WriteLine("Plain Margherita: " + pizza.GetPrice().ToString());

        ExtraCheeseTopping moreCheese = new ExtraCheeseTopping(pizza);
        ExtraCheeseTopping someMoreCheese = new ExtraCheeseTopping(moreCheese);
        Console.WriteLine("Plain Margherita with double extra cheese: " + someMoreCheese.GetPrice().ToString());

        MushroomTopping moreMushroom = new MushroomTopping(someMoreCheese);
        Console.WriteLine("Plain Margherita with double extra cheese with mushroom: " + moreMushroom.GetPrice().ToString());

        JalapenoTopping moreJalapeno = new JalapenoTopping(moreMushroom);
        Console.WriteLine("Plain Margherita with double extra cheese with mushroom with Jalapeno: " + moreJalapeno.GetPrice().ToString());

        Console.ReadLine();
    }