Exemplo n.º 1
0
        public IDrinkFlyweight GetDrink(string drinkKey)
        {
            IDrinkFlyweight drink = null;

            if (_drinkCache.ContainsKey(drinkKey))
            {
                Console.WriteLine("\nReusing existing flyweight object.");
                return(_drinkCache[drinkKey]);
            }
            else
            {
                Console.WriteLine("\nCreating new flyweight object.");
                switch (drinkKey)
                {
                case "Espresso":
                    drink = new Espresso();
                    break;

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

                default:
                    throw new Exception("This is not a flyweight drink object...");
                }
            }

            _drinkCache.Add(drinkKey, drink);
            ObjectsCreated++;

            return(drink);
        }
Exemplo n.º 2
0
        public DrinkGiveaway()
        {
            var randomIndex = new Random().Next(0, 2);

            _randomDrink = _eligibleDrinks[randomIndex];
        }