static void Main() { { var latte = new Latte(); var cinnamon = new Cinnamon(latte); var lemon = new Lemon(cinnamon, 2); var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); var beverage = new ChocolateCrumbs(iceCubes, 2); Console.WriteLine(beverage.GetDescription() + " costs " + beverage.GetCost()); } { var beverage = new ChocolateCrumbs( new IceCubes( new Lemon( new Cinnamon( new Latte()), 2), 2, IceCubeType.Dry), 2); Console.WriteLine(beverage.GetDescription() + " costs " + beverage.GetCost()); } { var latte = new Latte(LatteSize.Double); var cinnamon = new Cinnamon(latte); var lemon = new Lemon(cinnamon, 2); var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); var beverage = new ChocolateCrumbs(iceCubes, 2); Console.WriteLine(beverage.GetDescription() + " costs " + beverage.GetCost()); } { var cappuccino = new Cappuccino(CappuccinoSize.Standart); var cinnamon = new Cinnamon(cappuccino); var lemon = new Lemon(cinnamon, 2); var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); var liquor = new Liquor(iceCubes, LiquorType.Nut); var beverage = new ChocolateCrumbs(liquor, 2); Console.WriteLine(beverage.GetDescription() + " costs " + beverage.GetCost()); } { var tea = new Tea(TeaType.Green); var cinnamon = new Cinnamon(tea); var lemon = new Lemon(cinnamon, 2); var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); var beverage = new ChocolateCrumbs(iceCubes, 2); Console.WriteLine(beverage.GetDescription() + " costs " + beverage.GetCost()); } }
static void Main(string [] args) { { // Наливаем чашечку латте var latte = new Latte(); // добавляем корицы var cinnamon = new Cinnamon(latte); // добавляем пару долек лимона var lemon = new Lemon(cinnamon, 2); // добавляем пару кубиков льда var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); // добавляем 2 грамма шоколадной крошки var beverage = new ChocolateCrumbs(iceCubes, 2); // Выписываем счет покупателю Console.WriteLine($"{beverage.GetDescription()} cost {beverage.GetCost()}"); } { var beverage = new ChocolateCrumbs( // Внешний слой: шоколадная крошка new IceCubes( // | под нею - кубики льда new Lemon( // | | еще ниже лимон new Cinnamon( // | | | слоем ниже - корица new Latte()), // | | | в самом сердце - Латте 2), // | | 2 дольки лимона 2, IceCubeType.Dry), // | 2 кубика сухого льда 2); // 2 грамма шоколадной крошки // Выписываем счет покупателю Console.WriteLine($"{beverage.GetDescription()} cost {beverage.GetCost()}"); } { var latte = new Latte(CofeePortionSize.Double); // добавляем корицы var cinnamon = new Cinnamon(latte); // добавляем пару долек лимона var lemon = new Lemon(cinnamon, 2); // добавляем пару кубиков льда var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); // добавляем 2 грамма шоколадной крошки var beverage = new ChocolateCrumbs(iceCubes, 2); // Выписываем счет покупателю Console.WriteLine($"{beverage.GetDescription()} cost {beverage.GetCost()}"); } { var capucino = new Capucino(CofeePortionSize.Double); // добавляем корицы var cinnamon = new Cinnamon(capucino); // добавляем пару долек лимона var lemon = new Lemon(cinnamon, 2); // добавляем пару кубиков льда var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); // добавляем 2 грамма шоколадной крошки var chocolateCrumbs = new ChocolateCrumbs(iceCubes, 2); var cream = new Cream(chocolateCrumbs); var chocolatSlice = new ChocolateSlice(cream, 3); var beverage = new Liqour(chocolatSlice, LiquorType.Walnut); // Выписываем счет покупателю Console.WriteLine($"{beverage.GetDescription()} cost {beverage.GetCost()}"); } { var tea = new Tea(TeaSort.Red); // добавляем корицы var cinnamon = new Cinnamon(tea); // добавляем пару долек лимона var lemon = new Lemon(cinnamon, 2); // добавляем пару кубиков льда var iceCubes = new IceCubes(lemon, 2, IceCubeType.Dry); // добавляем 2 грамма шоколадной крошки var beverage = new ChocolateCrumbs(iceCubes, 2); // Выписываем счет покупателю Console.WriteLine($"{beverage.GetDescription()} cost {beverage.GetCost()}"); } }