Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            //Console.WriteLine("Strategy Demo");

            //DecoyDuck duck = new DecoyDuck();
            //duck.PerformFly();

            Beverage beverage = new DarkRoast();

            beverage = new Mocha(beverage);
            beverage = new Mocha(beverage);

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

            Console.ReadKey();
        }
        public static void TestDecorate()
        {
            Console.WriteLine("\n\n\n--------------------测试装饰者模式--------------------");
            //客人点了一杯espresso
            Beverage espresso = new Espresso();
            //客人点了一杯拿铁
            Beverage natie = new NaTie();
            espresso = new Milk(espresso);//添加牛奶
            espresso = new Sugar(espresso);//添加糖

            var desEspresso = espresso.getDescription();
            var costEspresso = espresso.Cost();
            Console.WriteLine("{0}共花费了{1}元", desEspresso, costEspresso);

            natie = new Milk(natie);//加奶
            natie = new Milk(natie);//加奶
            natie = new Sugar(natie);//加糖
            natie = new Mocha(natie);//加摩卡

            var desNatie = natie.getDescription();
            var costNatie = natie.Cost();
            Console.WriteLine("{0}共花费了{1}元", desNatie, costNatie);
        }