static void DurePizza() { //Maak een duurdere pizza margherita door zelf een eigen pizza samen te stellen vanaf het deeg (dom!) //Betere keuze is alleen toevoegen wat er nog op moet; omdat je anders per ingredient extra veel betaalt. var expensiveDelivery = new PizzaDelivery(); var customFactory = new CustomPizzaFactory(); customFactory.ExtraIngredients = new List <Ingredient>() { new TomatoSauce(), new Cheese(), new Basil() }; expensiveDelivery.factory = customFactory; Pizza badDeal = expensiveDelivery.DeliverPizza(); Console.WriteLine(); Console.WriteLine($"DurePizza() \r\n\t {badDeal}"); Debugger.Break(); }
static void PizzaMargheritaMetSalami() { var expensiveDelivery = new PizzaDelivery(); var customFactory = new CustomPizzaFactory(); //Geef aan welke Pizza als basis gebruikt moet gaan worden; dit levert aan beter prijs plaatje op. customFactory.BasePizza = PizzaMargheritaFactory.Instance.PreparePizza(); //Het enige extra ingredient is salami. customFactory.ExtraIngredients = new List <Ingredient>() { new Salami() }; expensiveDelivery.factory = customFactory; Pizza NotBadNotGreatDeal = expensiveDelivery.DeliverPizza(); Console.WriteLine(); Console.WriteLine($"PizzaMargheritaMetSalami() \r\n\t {NotBadNotGreatDeal}"); Debugger.Break(); }