コード例 #1
0
        private static void GetDrinkType(string drinkName, out Drink drink)
        {
            switch (drinkName)
            {
            case "Expresso":
                drink = new Expresso();
                break;

            case "Allonge":
                drink = new Allonge();
                break;

            case "Capuccino":
                drink = new Capuccino();
                break;

            case "Chocolat":
                drink = new Chocolat();
                break;

            case "The":
                drink = new The();
                break;

            default:
                drink = null;
                break;
            }
        }
コード例 #2
0
        public IDrink MakeDrink(string name, Strength strength, Amount sugar, Amount milk, Blend blend)
        {
            IDrink drink = new Drink(name, strength, sugar, milk, blend);

            switch (name)
            {
            case "Coffee":
                drink = new Coffee(drink);
                break;

            case "Espresso":
                drink = new Espresso(drink);
                break;

            case "Capuccino":
                drink = new Capuccino(drink);
                break;

            case "Wiener Melange":
                drink = new WienerMelange(drink);
                break;

            case "Café au Lait":
                drink = new CafeAuLait(drink);
                break;

            case "Chocolate":
                drink = new Chocolate(drink);
                break;

            case "Chocolate Deluxe":
                drink = new Chocolate(drink, true);
                break;

            case "Tea":
                drink = new Tea(drink);
                break;

            case "CoffeeChoc":
                drink = new Chocolate(new Coffee(drink));
                break;

            case "IrishCoffee":
                drink = new CreamDecorator(new Whiskey(new Coffee(drink)));
                break;

            case "SpanishCoffee":
                drink = new CreamDecorator(new Cointreau(new Cognac(new Coffee(drink))));
                break;

            case "ItalianCoffee":
                drink = new CreamDecorator(new Amaretto(new Coffee(drink)));
                break;
            }

            return(drink);
        }
コード例 #3
0
        private void SetupDrinkStrategies()
        {
            _drinks = new Dictionary <string, IDrink>();

            _drinks["Coffee"]           = new Coffee(_drinkStrength);
            _drinks["Espresso"]         = new Espresso();
            _drinks["Capuccino"]        = new Capuccino();
            _drinks["Wiener Melange"]   = new WienerMelange();
            _drinks["Café au Lait"]     = new CafeAuLait();
            _drinks["Chocolate"]        = new HotChocolateAdapter(false);
            _drinks["Chocolate Deluxe"] = new HotChocolateAdapter(true);
            _drinks["Tea"]     = new TeaAdapter();
            _drinks["Special"] = new SpecialCoffeeAdapter();
        }
コード例 #4
0
        static void Main(string[] args)
        {
            BeverageBase capuccino     = new Capuccino();
            BeverageBase tea           = new Tea();
            BeverageBase hot_chololate = new HotChocolate();
            BeverageBase espresso      = new Espresso();


            List <BeverageBase> beverage_list = new List <BeverageBase>();

            beverage_list.Add(capuccino);
            beverage_list.Add(tea);
            beverage_list.Add(hot_chololate);
            beverage_list.Add(espresso);


            foreach (BeverageBase beverage in beverage_list)
            {
                Console.WriteLine("Beverage: {0}, price: {1}", beverage.GetDescription(), beverage.GetPrice());
                Console.WriteLine();
            }



            Console.WriteLine("______________________________");



            BeverageBase green_tea = new GreenTea();


            BeverageBase capuccino2 = new AdditionSugar(new AdditionMilk(new Espresso()));


            beverage_list.Add(capuccino2);


            foreach (BeverageBase beverage in beverage_list)
            {
                Console.WriteLine("Beverage: {0}, price: {1}", beverage.GetDescription(), beverage.GetPrice());
                Console.WriteLine();
            }



            Console.ReadKey();
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: egoshin-igor/OOD
        static void Main(string[] args)
        {
            IBeverage coffee = new Capuccino(ServingQuantityType.Double)
                               .AddChocolateCrumbs(mass: 3)
                               .AddCinnamon()
                               .AddCream()
                               .AddLiquor(LiquorType.Nutty);

            IBeverage tea = new Tea(TeaType.Yellow)
                            .AddLemon(quantity: 2)
                            .AddSyrup(SyrupType.Maple)
                            .AddCoconutFlakes(mass: 10)
                            .AddChocolateSlices(1);

            PrintBeverageInfo(coffee);
            PrintBeverageInfo(tea);
        }