public override IPizza GetPizza(ToppingType tType) { IPizza currentPizza; switch (tType) { case ToppingType.Cheese: IPizza cheeseZa = new CheesePizza(); currentPizza = cheeseZa; return(currentPizza); case ToppingType.Pepperoni: IPizza pepZa = new CheesePizza(); pepZa = new Pepperoni(pepZa); currentPizza = pepZa; return(currentPizza); case ToppingType.Sausage: IPizza sausageZa = new CheesePizza(); sausageZa = new Sausage(sausageZa); currentPizza = sausageZa; return(currentPizza); case ToppingType.Supreme: IPizza supremeZa = new CheesePizza(); supremeZa = new Supreme(supremeZa); currentPizza = supremeZa; return(currentPizza); case ToppingType.BbqChicken: IPizza bbqZa = new CheesePizza(); bbqZa = new BBQChicken(bbqZa); currentPizza = bbqZa; return(currentPizza); case ToppingType.Margherita: IPizza margZa = new CheesePizza(); margZa = new Margherita(margZa); currentPizza = margZa; return(currentPizza); } return(null); }
static void Main(string[] args) { var pizza = new Margherita(); Console.WriteLine("Plain Margherita: " + pizza.GetPrice().ToString()); var moreCheese = new ExtraCheeseTopping(pizza); var someMoreCheese = new ExtraCheeseTopping(moreCheese); Console.WriteLine("Plain Margherita with double extra cheese: " + someMoreCheese.GetPrice().ToString()); var moreMushroom = new MushroomTopping(someMoreCheese); Console.WriteLine("Plain Margherita with double extra cheese with mushroom: " + moreMushroom.GetPrice().ToString()); var moreJalapeno = new JalapenoTopping(moreMushroom); Console.WriteLine("Plain Margherita with double extra cheese with mushroom with Jalapeno: " + moreJalapeno.GetPrice().ToString()); Console.ReadLine(); }
static void Main() { //Client-code Margherita pizza = new Margherita(); Console.WriteLine("Plain Margherita: " + pizza.GetPrice().ToString()); ExtraCheeseTopping moreCheese = new ExtraCheeseTopping(pizza); ExtraCheeseTopping someMoreCheese = new ExtraCheeseTopping(moreCheese); Console.WriteLine("Plain Margherita with double extra cheese: " + someMoreCheese.GetPrice().ToString()); MushroomTopping moreMushroom = new MushroomTopping(someMoreCheese); Console.WriteLine("Plain Margherita with double extra cheese with mushroom: " + moreMushroom.GetPrice().ToString()); JalapenoTopping moreJalapeno = new JalapenoTopping(moreMushroom); Console.WriteLine("Plain Margherita with double extra cheese with mushroom with Jalapeno: " + moreJalapeno.GetPrice().ToString()); Console.ReadLine(); }