static void Main(string[] args) { /* * Aqui creamos las bebidas para adicionarlas con los decoradores * entra a la clase Espresso para analizarla */ IBeverage beverage = new Espresso(); Console.WriteLine(beverage.Description() + " $ " + beverage.Cost()); IBeverage beverage2 = new DarckRoast(); /* * Aqui agregamos aditamentos a las bebidas * Entra a la clase Mocha para analizar como * es que se agrega la funcionalidad */ beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2.Description() + " $ " + beverage2.Cost()); IBeverage beverage3 = new HouseBlend(); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine(beverage3.Description() + " $ " + beverage3.Cost()); Console.ReadLine(); }
static void Main(string[] args) { Beverage beverage = new DarkRoast(); beverage = new MilkShot(beverage); beverage = new Mocha(beverage); Console.WriteLine(string.Format("{0}: {1}", beverage.GetDescription(), beverage.GetCost())); }
private static Beverage ApplyCondiment(List <CONDIMENT_TYPE> clist, Beverage item) { foreach (var c in clist) { switch (c) { case CONDIMENT_TYPE.WHIP: { item = new Whip(item); } break; case CONDIMENT_TYPE.MOCHA: { item = new Mocha(item); } break; case CONDIMENT_TYPE.SOY: { item = new Soy(item); } break; } } return(item); }
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()); Console.ReadKey(); }
static void Main(string[] args) { Beverage beverage = new Espresso(); Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost()); Beverage beverage2 = new DarkRoast(); beverage2.SetSize(Beverage.Size.VENTI); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2.GetDescription() + " $" + beverage2.Cost()); Beverage beverage3 = new DarkRoast(); beverage3.SetSize(Beverage.Size.GRANDE); beverage3 = new Soy(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine(beverage3.GetDescription() + " $" + beverage3.Cost()); Console.ReadLine(); }
private static void Coffee() { Beverage beverage = new Espresso(); Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost()); beverage = new Venti(beverage); Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost()); Beverage beverage2 = new HouseBlend(); beverage2 = new Mocha(beverage2); beverage2 = new Soy(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2.GetDescription() + " $" + beverage2.Cost()); beverage2 = new Tall(beverage2); Console.WriteLine(beverage2.GetDescription() + " $" + beverage2.Cost()); Beverage beverage3 = new DarkRoast(); beverage3 = new Mocha(beverage3); beverage3 = new Mocha(beverage3); beverage3 = new Whip(beverage3); Console.WriteLine(beverage3.GetDescription() + " $" + beverage3.Cost()); beverage3 = new Grande(beverage3); Console.WriteLine(beverage3.GetDescription() + " $" + beverage3.Cost()); }
static void Main(string[] args) { /* * Design principle: Classes should be open for extension, but closed for modification. * * The Decorator Pattern: attaches additional responsabilities to an object dynamically. * Decorators provide a flexible alternative to subclassing for extending functionality. */ Beverage beverage = new Expresso(); 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()}"); Console.ReadKey(); }
public void EspressoCondimentsCost() { IBeverage beverage = new Espresso(); beverage = new Mocha(beverage); // add mocha beverage = new Mocha(beverage); // add mocha again beverage = new Soy(beverage); // add soy too Assert.AreEqual<double>(2.79, beverage.Cost()); }
public void MyTestMethod() { IBeverage beverage = new Espresso(); beverage = new Mocha(beverage); // add mocha beverage = new Mocha(beverage); // add mocha again beverage = new Soy(beverage); // add soy too Assert.AreEqual<string>("Espresso, Mocha, Mocha, Soy", beverage.Description); }
public static void Main() { Console.WriteLine("Cart: "); Beverage first = new Mocha(new DarkRoast()); Beverage second = new SteamedMilk(new HouseBlend()); Console.WriteLine($"Order 1: {first.Description}\t\t{first.Cost}"); Console.WriteLine($"Order 2: {second.Description}\t\t{second.Cost}"); }
static void Main(string[] args) { Espresso espresso = new Espresso(); Console.WriteLine(espresso.getDescription() + " Cost: " + espresso.Cost()); Beverage doubleMochaWhipEspresso = new Mocha(new Mocha(new Whip(espresso))); Console.WriteLine(doubleMochaWhipEspresso.getDescription() + " Cost: " + doubleMochaWhipEspresso.Cost()); }
static void Main(string[] args) { Beverage myEspresso = new Espresso(); myEspresso = new Mocha(myEspresso); myEspresso = new Soy(myEspresso); myEspresso = new Whip(myEspresso); Console.WriteLine(myEspresso.getDescription() + " " + myEspresso.cost()); Console.ReadLine(); }
static void Main() { Beverage houseBlend = new HouseBlend(); houseBlend.BeverageSize = Beverage.Size.Grande; houseBlend = new Soy(houseBlend); houseBlend = new Mocha(houseBlend); houseBlend = new Mocha(houseBlend); WriteLine($"{houseBlend.GetDescription()} : {houseBlend.Cost()}"); }
static void Main(string[] args) { Beverage beverage = new Espresso(); beverage = new Mocha(beverage); beverage = new Mocha(beverage); beverage = new Mocha(beverage); Console.WriteLine(beverage.Cost()); Console.ReadLine(); }
static void Main(string[] args) { var beverage = new Espresso(); Console.WriteLine(beverage.GetDescription() + " $" + beverage.Cost()); Beverage beverage2 = new HouseBlend(); beverage2 = new Mocha(beverage2); Console.WriteLine(beverage2.GetDescription() + " $" + beverage2.Cost()); }
static void Main(string[] args) { Baverage baverage = new HouseBlend(); Console.WriteLine(baverage.GetDescription() + " " + baverage.cost()); Baverage baverage2 = new Mocha(baverage); Console.WriteLine($"{baverage2.GetDescription()},cost: {baverage2.cost()}"); Console.Read(); }
static void Main(string[] args) { Coffe coffe = new Expresso(); // Recursion is the fact behind. which keeps track of the encapsulated objects. coffe = new Mocha(coffe); // In this line coffe = Mocha at runtime. coffe = new Milk(coffe); // In this line coffe = Milk at runtime. coffe = new Mocha(coffe); // In this line coffe = Mocha at runtime. Console.WriteLine("Ingredients: " + coffe.GetDescription()); Console.WriteLine("Total Cost: " + coffe.Cost()); }
static void Main() { Beverage beverage = new DarkRoast(); beverage = new Mocha(beverage); beverage = new Soy(beverage); beverage = new Grande(beverage); Console.WriteLine(beverage.GetDescription()); Console.WriteLine("Total: $" + beverage.Cost()); Console.ReadKey(); }
public void TestOrderHouseBlendWithSoyMochaWhip() { Beverage beverage = new HouseBlend(); beverage = new Soy(beverage); beverage = new Mocha(beverage); beverage = new Whip(beverage); string test = $"{beverage.GetDescription()} ${beverage.Cost().ToString("0.00")}"; Assert.AreEqual(test, "House Blend Coffee, Soy, Mocha, Whip $1.49"); }
static void Main(string[] args) { Beverage espresso = new Espresso(); System.Console.WriteLine(espresso.GetDescription() + " - " + espresso.Cost()); Beverage espressoMocha = new Mocha(espresso); System.Console.WriteLine(espressoMocha.GetDescription() + " - " + espressoMocha.Cost()); System.Console.ReadLine(); }
public void TestOrderDarkRoastWithMochaWhip() { Beverage beverage = new DarkRoast(); beverage = new Mocha(beverage); beverage = new Mocha(beverage); beverage = new Whip(beverage); string test = $"{beverage.GetDescription()} ${beverage.Cost().ToString("0.00")}"; Assert.AreEqual(test, "Dark Roast, Mocha, Mocha, Whip $2.54"); }
/// <summary> /// The Decorator Pattern attaches additional /// responsibilities to an object dynamically. /// Decorators provide a flixible alternative to /// subclassing for extending functionality. /// </summary> /// <param name="args"></param> static void Main(string[] args) { var beverage = new Espresso(); Console.WriteLine($"{beverage.GetDescription()} $ {beverage.Cost()}"); Beverage beverage2 = new HouseBlend(); beverage2 = new Soy(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine($"{beverage2.GetDescription()} $ {beverage2.Cost()}"); }
static void Main(string[] args) { Beverage espresso = new Espresso(); Console.WriteLine(espresso.getDescription()+ " $" + espresso.cost()); Beverage houseBlend = new HouseBlend(); houseBlend = new Mocha(houseBlend); houseBlend= new Mocha(houseBlend); houseBlend = new Soy(houseBlend); Console.WriteLine(houseBlend.getDescription() + " $" + houseBlend.cost()); Console.ReadLine(); }
static void Main(string[] args) { IBeverage beverage = new Espresso(); Console.WriteLine(beverage.getDescription() + " $" + beverage.cost()); IBeverage beverage2 = new DarkRoast(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); Console.WriteLine(beverage2.getDescription() + " $" + beverage2.cost()); }
static void Main(string[] args) { Beverage espresso = new Espresso(); Console.WriteLine(espresso); Beverage houseBlend = new HouseBlend(); houseBlend = new Mocha(houseBlend); houseBlend = new Mocha(houseBlend); houseBlend = new Whip(houseBlend); Console.WriteLine(houseBlend); }
static void Main(string[] args) { Beverage coffee = new Latte(); Console.WriteLine("Current coffee is: {0}, cost is {1}.", coffee.GetDescription(), coffee.Cost()); Beverage latteWithMilk = new Milk(coffee); Beverage latteWithMilkAndMocha = new Mocha(latteWithMilk); Console.WriteLine("Current coffee is: {0}, cost is {1}.", latteWithMilkAndMocha.GetDescription(), latteWithMilkAndMocha.Cost()); Beverage latteWithMilkAndDoubleMocha = new Mocha(latteWithMilkAndMocha); Console.WriteLine("Current coffee is: {0}, cost is {1}.", latteWithMilkAndDoubleMocha.GetDescription(), latteWithMilkAndDoubleMocha.Cost()); }
static void Main(string[] args) { Beverage beverage = new Espresso(); beverage = new Mocha(beverage); Console.WriteLine(beverage.GetDescription() + "$" + beverage.Cost()); Beverage beverage1 = new HouseBlend(); beverage1 = new Mocha(beverage1); //beverage1 = new Mocha(beverage1); //beverage1 = new Soy(beverage1); //beverage1 = new Soy(beverage1); Console.WriteLine(beverage1.GetDescription() + "$" + beverage1.Cost()); }
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()); Console.ReadKey(); }
static void Main(string[] args) { Beverage espresso = new Espresso(); Console.WriteLine(espresso.getDescription() + " $" + espresso.cost()); Beverage houseBlend = new HouseBlend(); houseBlend = new Mocha(houseBlend); houseBlend = new Mocha(houseBlend); houseBlend = new Soy(houseBlend); Console.WriteLine(houseBlend.getDescription() + " $" + houseBlend.cost()); Console.ReadLine(); }
public static void Main(string[] args) { Beverage beverage = new Esprresso(); Console.WriteLine(beverage.getDescription() + "$" + beverage.cost()); Beverage beverage2 = new HouseBlend(); beverage2 = new Mocha(beverage2); beverage2 = new Mocha(beverage2); beverage2 = new Whip(beverage2); Console.WriteLine(beverage2.getDescription() + "$" + beverage2.cost()); Console.ReadLine(); }
static void Main(string[] args) { Console.WriteLine("We have these fabulous drinkings."); Beverage espresso = new Espresso(); Beverage latte = new Latte(); Beverage orangejuice = new OrangeJuice(); Console.WriteLine($"Espresso : {espresso.Description} \\.{espresso.Cost()}"); Console.WriteLine($"Latte : {espresso.Description} \\.{latte.Cost()}"); Console.WriteLine($"OrangeJuice : {espresso.Description} \\.{orangejuice.Cost()}"); Beverage mochaLatte = new Mocha(new Latte()); Console.WriteLine($"Mocha Latte : {mochaLatte.Description} \\.{mochaLatte.Cost()}"); Console.ReadLine(); }
static void Main(string[] args) { var annasBeverage = new Sprinkles(new Cappuccino()); // 6 var billsBeverage = new Sprinkles(new Mocha()); // 5 var carlsBeverage = new WhippedCream(new Cappuccino()); // 5 var davesBeverage = new WhippedCream(new Mocha()); // 4 var erinsBeverage = new Sprinkles(new WhippedCream(new Cappuccino())); // 7 var fransBeverage = new WhippedCream(new Sprinkles(new Cappuccino())); // 7 var galesBeverage = new Sprinkles(new WhippedCream(new Mocha())); // 6 var henrysBeverage = new Cappuccino(); // 4 var ivonnesBeverage = new Mocha(); // 3 Beverage[] customerBeverages = { annasBeverage, billsBeverage, carlsBeverage, davesBeverage, erinsBeverage, fransBeverage, galesBeverage, henrysBeverage, ivonnesBeverage }; foreach (var beverage in customerBeverages) { Console.WriteLine(beverage.Cost()); } }
public static void Main(string[] args) { Beverage beverage = new Espresso(); Console.WriteLine(beverage.GetDescription() + " $ " + beverage.Cost()); Beverage c1 = new DarkRoast(); c1 = new Mocha(c1); c1 = new Mocha(c1); c1 = new Whip(c1); Console.WriteLine(c1.GetDescription() + " $ " + c1.Cost()); Beverage b3 = new HouseBlend(); b3 = new Soy(b3); b3 = new Mocha(b3); b3 = new Whip(b3); Console.WriteLine(b3.GetDescription() + " $ " + b3.Cost()); }
static void Main(string[] args) { IBeverage coffee = new Espresso(); Console.WriteLine($"{coffee.Description}: £{coffee.Cost}"); coffee = new DarkRoast(); coffee = new Mocha(coffee); coffee = new Mocha(coffee); coffee = new Whip(coffee); Console.WriteLine($"{coffee.Description}: £{coffee.Cost}"); //or, decorating decorators ... coffee = new Vanilla(new Mocha(new Mocha(new DarkRoast()))); Console.WriteLine($"{coffee.Description}: £{coffee.Cost}"); Console.ReadKey(); }