static void Main(string[] args) { #region Sandwich SandwichBase mySandwich = new VeggieSandwich(); Console.WriteLine(mySandwich.GetPrice()); Console.WriteLine(mySandwich.GetDescription()); mySandwich = new Cheese(mySandwich); Console.WriteLine(mySandwich.GetPrice()); Console.WriteLine(mySandwich.GetDescription()); mySandwich = new Olives(mySandwich); Console.WriteLine(mySandwich.GetPrice()); Console.WriteLine(mySandwich.GetDescription()); #endregion #region Pizza var pizza = new PizzaBase(); pizza = new OlivesDecorator(pizza); pizza = new MushroomsDecorator(pizza); pizza = new PepperoniDecorator(pizza); pizza = new PineappleDecorator(pizza); Console.WriteLine($"Pizza Description: {pizza.Description}"); #endregion }
/// <summary> /// Funkcja służy do dodania pizzy do listy zamówień /// </summary> public void AddPizza(int number) { // Tworzymy obiekt pizzy Pizza pizza = new Pizza(); // Dodajemy składniki znajdujące się w każdej pizzy pizza = new TomatoSauceDecorator(pizza); pizza = new CheeseDecorator(pizza); // Składniki specjalne pizz switch (number) { case 1: orders.Add(pizza); break; case 2: pizza = new MushroomsDecorator(pizza); orders.Add(pizza); break; case 3: pizza = new HamDecorator(pizza); orders.Add(pizza); break; case 4: pizza = new SalamiDecorator(pizza); orders.Add(pizza); break; } }
static void Main(string[] args) { IPizza myPizza = new MushroomsDecorator(new HamDecorator(new BasicPizza())); Console.WriteLine(myPizza.GetCost()); IPizza myPizzaWithLog = new LogDecorator(new BasicPizza()); myPizzaWithLog = new LogDecorator(new HamDecorator(myPizzaWithLog)); myPizzaWithLog = new LogDecorator(new MushroomsDecorator(myPizzaWithLog)); }