Esempio n. 1
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            System.Console.WriteLine(beverage.getDescription() + " - $" + beverage.cost());

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            // beverage2 = new Mocha(beverage2);
            // beverage2 = new Whip(beverage2);
            System.Console.WriteLine(beverage2.getDescription() + " - $" + beverage2.cost());

            Beverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            System.Console.WriteLine(beverage3.getDescription() + " - $" + beverage3.cost());
        }
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            Console.WriteLine(beverage.getDescription() + " $ " + beverage.cost());

            Beverage beverage1 = new DarkRoast();

            beverage1 = new Mocha(beverage1);
            beverage1 = new Mocha(beverage1);
            beverage1 = new Whip(beverage1);
            Console.WriteLine(beverage1.getDescription() + " $ " + beverage1.cost());

            Beverage beverage2 = new HouseBlend();

            beverage2 = new Soy(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine(beverage2.getDescription() + " $ " + beverage2.cost());

            // Need to debug, the description is not reaching properly. For the solution right now, marked the method getDescription in Beverage class as virtual
            // And override that method in CondimentDecorator
        }