示例#1
0
        static void Main(string[] args)
        {
            Beverage bev = new AfricanBlend();

            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));

            bev = new HouseBlend();
            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));

            bev = new Cream(bev);
            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));

            bev = new Cream(bev);
            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));
            Console.ReadLine();
        }
示例#2
0
        private static void Main(string[] args)
        {
            //Test order

            //First of all we order espresso without condiments
            IBeverage beverage1 = new Espresso();

            Console.WriteLine(beverage1.Description + $" {beverage1.Cost()} $");

            //Second order - Dark Roast + Mocha x2 + Whip
            IBeverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine(beverage2.Description + $" {beverage2.Cost()} $");

            //Third order - House Blend + Soy + Mocha + Whip
            IBeverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine(beverage3.Description + $" {beverage3.Cost()} $");

            //*A more elegant way to create decorated objects will be presented in the description of the factory pattern.
            Console.ReadKey();
        }
示例#3
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            PrintBeverageCost(beverage);

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            PrintBeverageCost(beverage2);

            Beverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            PrintBeverageCost(beverage3);

            Beverage beverage4 = new Decaf();

            beverage4 = new Latte(beverage4);
            beverage4 = new Mocha(beverage4);
            beverage4 = new Whip(beverage4);
            PrintBeverageCost(beverage4);

            Console.ReadLine();
        }
示例#4
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso(Size.Grande);

            Console.WriteLine($"{beverage.GetDescription()} ${beverage.Cost()}");

            Beverage beverage2 = new DarkRoast(Size.Venti);

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            beverage2 = new SteamedMilk(beverage2);
            Console.WriteLine($"{beverage2.GetDescription()} ${beverage2.Cost()}");

            Beverage beverage3 = new HouseBlend(Size.Tall);

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine($"{beverage3.GetDescription()} ${beverage3.Cost()}");

            Beverage beverage4 = new HouseBlend(Size.Grande);

            beverage4 = new Soy(beverage4);
            beverage4 = new Mocha(beverage4);
            beverage4 = new Mocha(beverage4);
            beverage4 = new Whip(beverage4);
            Console.WriteLine($"{beverage4.GetDescription()} ${beverage4.Cost()}");

            Console.ReadLine();
        }
示例#5
0
        private static void Main(string[] args)
        {
            Console.WriteLine("StarbuzzCoffe!");

            Beverage beverage = new Expresso();

            Console.WriteLine("Expresso");
            Console.WriteLine($@"{beverage.GetDescription()}, $ {beverage.Cost()}");

            Beverage beverage1 = new DarkRoast();

            beverage1 = new Mocha(beverage1);
            beverage1 = new Mocha(beverage1);
            beverage1 = new Whip(beverage1);

            Console.WriteLine("Dark");
            Console.WriteLine($@"{beverage1.GetDescription()}, $ {beverage1.Cost()}");

            Beverage beverage2 = new HouseBlend();

            beverage2 = new Soy(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);

            Console.WriteLine("HouseBlend");
            Console.WriteLine($@"{beverage2.GetDescription()}, $ {beverage2.Cost()}");

            Console.ReadKey();
        }
示例#6
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            Console.WriteLine($"{beverage.GetDescription()} {beverage.Cost()}");

            Beverage beverage2 = new HouseBlend();

            Console.WriteLine($"{beverage2.GetDescription()} {beverage2.Cost()}");
            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine($"{beverage2.GetDescription()} {beverage2.Cost()}");

            Beverage beverage3 = new HouseBlend();

            Console.WriteLine($"{beverage3.GetDescription()} {beverage3.Cost()}");
            beverage3 = new Mocha(beverage3);
            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine($"{beverage3.GetDescription()} {beverage3.Cost()}");

            Console.ReadLine();
        }
示例#7
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

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

            Beverage beverage2 = new DarkRoast();

            //beverage2.setBeverageSize(BeverageSize.BIG);
            //beverage2 = new Mocha(beverage2);
            //beverage2.setBeverageSize(BeverageSize.BIG);
            //beverage2 = new Whip(beverage2);
            //beverage2.setBeverageSize(BeverageSize.BIG);
            Console.WriteLine(beverage2.getDescription() + " $" + beverage2.cost());

            Beverage beverage3 = new HouseBlend();

            beverage3.setBeverageSize(BeverageSize.BIG);
            beverage3 = new Soy(beverage3);
            beverage3.setBeverageSize(BeverageSize.BIG);
            beverage3 = new Mocha(beverage3);
            beverage3.setBeverageSize(BeverageSize.BIG);
            beverage3 = new Whip(beverage3);
            beverage3.setBeverageSize(BeverageSize.BIG);
            Console.WriteLine(beverage3.getDescription() + " $" + beverage3.cost());
            Console.ReadKey();
        }
示例#8
0
        static void Main(string[] args)
        {
            Beverage bev = new AfricanBlend();

            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));

            bev = new HouseBlend();
            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));

            bev = new Cream(bev);
            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));

            bev = new Cream(bev);
            Console.WriteLine(
                String.Format("{0} - ${1}",
                              bev.GetDescription(),
                              bev.GetCost()));

            // We'll decorate an interface rather than an abstract base class
            IPizza pizza = new LargePizza();

            Console.WriteLine(
                String.Format("{0} - ${1}",
                              pizza.GetDescription(),
                              pizza.CalculateCost()));

            IPizza cheese = new Cheese(pizza);

            Console.WriteLine(
                String.Format("{0} - ${1}",
                              cheese.GetDescription(),
                              cheese.CalculateCost()));

            IPizza extra = new Cheese(cheese);

            Console.WriteLine(
                String.Format("{0} - ${1}",
                              extra.GetDescription(),
                              extra.CalculateCost()));

            IPizza sausage = new Sausage(extra);

            Console.WriteLine(
                String.Format("{0} - ${1}",
                              sausage.GetDescription(),
                              sausage.CalculateCost()));

            Console.ReadLine();
        }
示例#9
0
        static void Main(string[] args)
        {
            Beverage houseBlend = new HouseBlend();

            houseBlend = new Mocha(houseBlend);
            houseBlend = new Mocha(houseBlend);
            houseBlend = new Whip(houseBlend);

            Console.WriteLine(houseBlend.Description + " : Cost " + houseBlend.Cost());
        }
示例#10
0
        static void Main(string[] args)
        {
            Beverage b1 = new HouseBlend();

            b1 = new Moca(b1);
            b1 = new Whip(b1);
            b1 = new Moca(b1);

            Console.WriteLine(b1.GetDescription());
            Console.WriteLine(b1.Cost());
        }
示例#11
0
        static void Main(string[] args)
        {
            Beverage beverage2 = new Espresso();
            Beverage beverage2 = new HouseBlend();

            Console.WriteLine(beverage2.GetDescription() + " " + beverage2.Cost());
            Beverage beverage3 = new Espresso();

            beverage2 = new Mocka(beverage2);

            Console.WriteLine(beverage2.GetDescription() + " " + beverage2.Cost());
        }
示例#12
0
        static void Main(string[] args)
        {
            Beverage beverage = new HouseBlend();

            beverage = new Milk(beverage);
            beverage = new Whip(beverage);
            beverage = new Whip(beverage);
            beverage = new Whip(beverage);
            beverage = new Whip(beverage);
            beverage = new Mocha(beverage);
            beverage = new Soy(beverage);
            Console.WriteLine($"{beverage.GetDescription()} {beverage.Cost()}");
        }
示例#13
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            Console.WriteLine(beverage.Description + " $" + beverage.Cost());

            Beverage beverage2 = new HouseBlend();

            beverage2 = new Mocha(beverage2); // add a Mocha
            beverage2 = new Mocha(beverage2); // add another Mocha
            beverage2 = new Whip(beverage2);  // add a Whip
            Console.WriteLine(beverage2.Description + " $" + beverage2.Cost());

            Console.ReadKey();
        }
示例#14
0
        static void Main()
        {
            Beverage coffee = new DarkRoast();

            coffee = new Mocha(coffee);
            coffee = new Mocha(coffee);
            coffee = new Soy(coffee);

            Console.WriteLine("{0} {1}", coffee.Description, coffee.Cost);

            coffee = new HouseBlend();
            coffee = new Soy(coffee);

            Console.WriteLine("{0} {1}", coffee.Description, coffee.Cost);

            Console.ReadLine();
        }
示例#15
0
        static void Main(string[] args)
        {
            Beverage beverage1 = new HouseBlend();

            beverage1      = new Milk(beverage1);
            beverage1      = new Soy(beverage1);
            beverage1      = new Soy(beverage1);
            beverage1.Size = CupSize.Small;
            Console.WriteLine(string.Format("{0}: $ {1}", beverage1.GetDescription(), beverage1.Cost()));
            beverage1.Size = CupSize.Medium;
            Console.WriteLine(string.Format("{0}: $ {1}", beverage1.GetDescription(), beverage1.Cost()));
            beverage1.Size = CupSize.Large;
            Console.WriteLine(string.Format("{0}: $ {1}", beverage1.GetDescription(), beverage1.Cost()));
            beverage1 = new PrettyDescriptionDecorator(beverage1);
            Console.WriteLine(string.Format("{0}: $ {1}", beverage1.GetDescription(), beverage1.Cost()));
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            Console.WriteLine($"{beverage.getDescription()} ${beverage.cost()}");
            Beverage beverageEspresso = new Espresso();

            beverageEspresso = new Mocha(beverageEspresso);
            beverageEspresso = new Mocha(beverageEspresso);
            beverageEspresso = new Whip(beverageEspresso);
            Console.WriteLine($"{beverageEspresso.getDescription()} ${beverageEspresso.cost()}");
            Beverage beverageHouseBlend = new HouseBlend();

            beverageHouseBlend = new Mocha(beverageHouseBlend);
            beverageHouseBlend = new Mocha(beverageHouseBlend);
            beverageHouseBlend = new Whip(beverageHouseBlend);
            Console.WriteLine($"{beverageHouseBlend.getDescription()} ${beverageHouseBlend.cost()}");
            Console.ReadKey();
        }
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            Console.WriteLine(beverage);

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine(beverage2);

            Beverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine(beverage3);
        }
示例#18
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

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

            Beverage beverage2 = new DarkRoast();

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

            Beverage beverage3 = new HouseBlend();

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

            beverage.display();

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            beverage2.display();

            Beverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            beverage3.display();
        }
示例#20
0
        static void Main(string[] args)
        {
            Beverage beverage = new HouseBlend();

            Console.WriteLine(beverage.ToString());

            // dark roast with double mocha and whip
            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Milk(beverage2);
            Console.WriteLine(beverage2.ToString());

            // espresso with milk
            Beverage beverage3 = new Espresso();

            beverage3 = new Milk(beverage3);
            Console.WriteLine(beverage3.ToString());
        }
        public static void MakeSomeCoffee()
        {
            Beverage beverage = new Espresso();

            Console.WriteLine($"{beverage.GetDescription()} ${beverage.Cost()}");

            Beverage darkRoast = new DarkRoast();

            darkRoast = new Mocha(darkRoast);
            darkRoast = new Mocha(darkRoast);
            darkRoast = new Whip(darkRoast);
            Console.WriteLine($"{darkRoast.GetDescription()} ${darkRoast.Cost()}");

            Beverage houseBlend = new HouseBlend();

            houseBlend.SetSize(Size.VENTI);
            houseBlend = new Soy(houseBlend);
            houseBlend = new Mocha(houseBlend);
            houseBlend = new Whip(houseBlend);
            Console.WriteLine($"{houseBlend.GetDescription()} ${houseBlend.Cost()}");
        }
示例#22
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

            Console.WriteLine("Description: {0} \r\n Coast: {1}", beverage.GetDescription(), beverage.Coast());

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine("Description: {0} \r\n Coast: {1}", beverage2.GetDescription(), beverage2.Coast());

            Beverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine("Description: {0} \r\n Coast: {1}", beverage3.GetDescription(), beverage3.Coast());

            Console.ReadKey();
        }
示例#23
0
文件: Program.cs 项目: JvPost/DP
        static void Main(string[] args)
        {
            Beverage bev1 = new Espresso();

            Print(bev1);

            Beverage bev2 = new DarkRoast();

            bev2 = new Mocha(bev2);
            bev2 = new Mocha(bev2);
            bev2 = new Whip(bev2);
            Print(bev2);

            Beverage bev3 = new HouseBlend();

            bev3 = new Soy(bev3);
            bev3 = new Mocha(bev3);
            bev3 = new Whip(bev3);
            Print(bev3);

            Console.ReadKey();
        }
示例#24
0
        static void Main(string[] args)
        {
            Console.WriteLine("C# StarbuzzCoffe");

            Beverage beverage = new Expresso();

            Console.WriteLine(beverage.GetDescription() + " $" + beverage.GetCost());

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine(beverage2.GetDescription() + " $" + beverage2.GetCost());

            Beverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine(beverage3.GetDescription() + " $" + beverage3.GetCost());
        }
示例#25
0
        static void Main()
        {
            Console.WriteLine();

            Beverage beverage = new Espresso();

            Console.WriteLine(beverage.Description() + " $" + beverage.Cost());

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine(beverage2.Description() + " $" + beverage2.Cost());

            Beverage beverage3 = new HouseBlend();

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine(beverage3.Description() + " $" + beverage3.Cost());
        }
示例#26
0
        static void Main(string[] args)
        {
            BeverageBase espresso = new Espresso();

            Console.WriteLine($"{espresso.GetDescription()} ${espresso.Cost()}");

            BeverageBase houseBlend = new HouseBlend();

            houseBlend = new Mocha(houseBlend);
            houseBlend = new Mocha(houseBlend);
            houseBlend = new WhipCream(houseBlend);
            Console.WriteLine($"{houseBlend.GetDescription()} ${houseBlend.Cost()}");

            BeverageBase darkRoast = new DarkRoast();

            darkRoast = new SoyMilk(darkRoast);
            darkRoast = new Mocha(darkRoast);
            darkRoast = new WhipCream(darkRoast);
            Console.WriteLine($"{darkRoast.GetDescription()} ${darkRoast.Cost()}");

            Console.ReadLine();
        }
        public static void Main()
        {
            Beverage beverage = new Expresso();

            Console.WriteLine(beverage.ToString());

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocha(beverage2);
            beverage2 = new Mocha(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine(beverage2.ToString());

            Beverage beverage3 = new HouseBlend
            {
                Size = BeverageSize.Venti
            };

            beverage3 = new Soy(beverage3);
            beverage3 = new Mocha(beverage3);
            beverage3 = new Whip(beverage3);
            Console.WriteLine(beverage3.ToString());
        }