public BlankPizza GetPizza(string pizza) { switch (pizza) { case "Carbonara": CarbonaraBuilder carbonaraBuilder = new CarbonaraBuilder(); carbonaraBuilder.SetCheese().SetTomatoes().SetMeat(); return(carbonaraBuilder.pizza); case "Italian": ItalianBuilder italianBuilder = new ItalianBuilder(); italianBuilder.SetCheese().SetTomatoes().SetOlives().SetMeat(); return(italianBuilder.pizza); case "Margarita": MargaritaBuilder margaritaBuilder = new MargaritaBuilder(); margaritaBuilder.SetCheese().SetTomatoes().SetOlives(); return(margaritaBuilder.pizza); case "Pepperoni": PepperoniBuilder pepperoniBuilder = new PepperoniBuilder(); pepperoniBuilder.SetCheese().SetTomatoes().SetMeat(); return(pepperoniBuilder.pizza); default: throw new InvalidOperationException("This pizza is not on the menu"); } }
static void Main(string[] args) { PizzaBuilder carbonaraBuilder = new CarbonaraBuilder(); carbonaraBuilder.SetCheese().SetTomatoes().SetOlives().SetMeat(); BlankPizza pizza1 = carbonaraBuilder.GetPizza(); Console.WriteLine(pizza1.GetComponentPizza()); carbonaraBuilder.SetCheese().SetMeat(); BlankPizza pizza2 = carbonaraBuilder.GetPizza(); Console.WriteLine("\n" + pizza2.GetComponentPizza()); Console.ReadKey(); }