コード例 #1
0
ファイル: Program.cs プロジェクト: sibstark/DesignPatterns
        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();
        }
コード例 #2
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();
        }
コード例 #3
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();
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: MetalGoose/DesignPatterns
        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();
        }
コード例 #5
0
        static void Main(string[] args)
        {
            Espresso beverage1 = new Espresso();
            Mocha    mocha     = new Mocha(beverage1);
            Soy      soy       = new Soy(mocha);
            Whip     whip      = new Whip(soy);

            Console.WriteLine(whip.GetDescription() + "  " + whip.Cost());
        }
コード例 #6
0
ファイル: Program.cs プロジェクト: tshaiman/DesignPatterns
        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());
        }
コード例 #7
0
        static void Main(string[] args)
        {
            Beverage coffee = new Espresso();

            coffee = new Milk(coffee);
            coffee = new Mocha(coffee);
            coffee = new Whip(coffee);

            Console.WriteLine($"The beverage is {coffee.Description} it's cost is : {coffee.Cost()}$");
            Console.ReadKey();
        }
コード例 #8
0
        static void Main(string[] args)
        {
            IBeverage cappuccino = new Whip(new Milk(new Espresso()));

            Console.WriteLine(cappuccino.GetDescription());
            Console.WriteLine(cappuccino.Cost());

            IBeverage cappuccinoWDoubleMocha = new Whip(new Milk(new Mocha(new Mocha(new Espresso()))));

            Console.WriteLine(cappuccinoWDoubleMocha.GetDescription());
            Console.WriteLine(cappuccinoWDoubleMocha.Cost());
        }
コード例 #9
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

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

            beverage = new Mocha(beverage);
            Console.WriteLine(beverage.GetDescription() + " $ " + beverage.Cost());

            beverage = new Mocha(beverage);
            Console.WriteLine(beverage.GetDescription() + " $ " + beverage.Cost());

            beverage = new Whip(beverage);
            Console.WriteLine(beverage.GetDescription() + " $ " + beverage.Cost());

            beverage.size = Size.Larger;
            Console.WriteLine(beverage.GetDescription() + " $ " + beverage.Cost());

            beverage.size = Size.Middle;
            Console.WriteLine(beverage.GetDescription() + " $ " + beverage.Cost());

            beverage.size = Size.Small;
            Console.WriteLine(beverage.GetDescription() + " $ " + beverage.Cost());
        }
コード例 #10
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();
        }
コード例 #11
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

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

            Beverage beverage2 = new DarkRoast();

            beverage2 = new Mocah(beverage2);
            beverage2 = new Mocah(beverage2);
            beverage2 = new Whip(beverage2);

            Console.WriteLine(beverage2.GetDescription() + "$" + beverage2.Cost());
            Console.ReadLine();
        }
コード例 #12
0
        static void Main(string[] args)
        {
            Beverage beverage = new Espresso();

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

            Beverage beverage2 = new Whip(new Mocha(new Mocha(new DarkRoast())));

            Console.WriteLine(beverage2.GetDescription() + " $" + beverage2.Cost());

            Beverage beverage3 = new Whip(new Mocha(new Soy(new HouseBlend())));

            Console.WriteLine(beverage3.GetDescription() + " $" + beverage3.Cost());

            Console.ReadKey();
        }
コード例 #13
0
ファイル: Program.cs プロジェクト: WillRock19/DesignPatterns
        static void PrintAllPricesForBeverage(Beverage beverage)
        {
            var withMocha = new Mocha(beverage);

            var withWhip         = new Whip(beverage);
            var withMochaAndWhip = new Whip(withMocha);

            var withSoy                = new Soy(beverage);
            var withSoyAndWhip         = new Soy(withWhip);
            var withSoyAndMocha        = new Soy(withMocha);
            var withMochaAndWhipAndSoy = new Soy(withMochaAndWhip);

            Console.WriteLine($"-> {withMocha.GetDescription()}: {withMocha.Cost()}");
            Console.WriteLine($"-> {withWhip.GetDescription()}: {withWhip.Cost()}");
            Console.WriteLine($"-> {withMochaAndWhip.GetDescription()}: {withMochaAndWhip.Cost()}");
            Console.WriteLine($"-> {withSoy.GetDescription()}: {withSoy.Cost()}");
            Console.WriteLine($"-> {withSoyAndWhip.GetDescription()}: {withSoyAndWhip.Cost()}");
            Console.WriteLine($"-> {withSoyAndMocha.GetDescription()}: {withSoyAndMocha.Cost()}");
            Console.WriteLine($"-> {withMochaAndWhipAndSoy.GetDescription()}: {withMochaAndWhipAndSoy.Cost()}");
        }
コード例 #14
0
        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()}");
        }
コード例 #15
0
ファイル: Program.cs プロジェクト: IlyaLightman/SharpPatterns
        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());
        }
コード例 #16
0
        static void Main(string[] args)
        {
            Beverage beverage = new DarkRoast();

            Console.WriteLine("Drink name: {0}, cost: {1}eu", beverage.GetDescription(), beverage.Cost());

            Beverage beverage2 = new Expresso();

            beverage2 = new Milk(beverage2);
            beverage2 = new Whip(beverage2);
            Console.WriteLine("Drink name: {0}, cost: {1}eu", beverage2.GetDescription(), beverage2.Cost());
        }