示例#1
0
        public Client()
        {
            var double_vanilla_expresso_order = new VanillaDecorator(new VanillaDecorator(new Expresso()));

            Order1 = double_vanilla_expresso_order.Cost();

            var chocolate_expresso_order = new ChocolateDecorator(new Expresso());

            Order2 = chocolate_expresso_order.Cost();
        }
示例#2
0
        static void Main(string[] args)
        {
            var coffee = new Coffee();

            Console.WriteLine(coffee.GetName() + ": " + coffee.GetPrice());
            var chocolateDecorator = new ChocolateDecorator(coffee);

            Console.WriteLine(chocolateDecorator.GetName() + ": " + chocolateDecorator.GetPrice());
            var creamChocolateDecorator = new CreamDecorator(chocolateDecorator);

            Console.WriteLine(creamChocolateDecorator.GetName() + ": " + creamChocolateDecorator.GetPrice());
            Console.ReadLine();
        }
示例#3
0
        static void Main(string[] args)
        {
            ICoffee expresso = new Expresso();

            Console.WriteLine($"Expresso price = {expresso.GetCost()}");

            ICoffee milkCoffee = new MilkDecorator(new Expresso());

            Console.WriteLine($"Expresso with milk price = {milkCoffee.GetCost()}");

            ICoffee chocolateCoffe = new ChocolateDecorator(new Expresso());

            Console.WriteLine($"Expresso with chocolate price = {chocolateCoffe.GetCost()}");

            ICoffee tastyCoffee = new MilkDecorator(new ChocolateDecorator(new Expresso()));

            Console.WriteLine($"Expresso with milk and chocolate costs {tastyCoffee.GetCost()}");
        }