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); }
public DrinkGiveaway() { var randomIndex = new Random().Next(0, 2); _randomDrink = _eligibleDrinks[randomIndex]; }