public Hamburger getHamburger(string hamburgerName) { HamburgerBuilder builder = null; switch (hamburgerName) { case ("Crispy Chicken"): { builder = new CrispyChickenBuilder(); break; } case ("Crispy Chicken With Tomato"): { builder = new CrispyChickenBuilderTomato(); break; } case ("Veggy Burger"): { builder = new VeggHamburgerBuilder(); break; } case ("Veggy Burger With Lettuce"): { builder = new VeggHambBuilderLettuce(); break; } } return(builder.GetHamburger()); }
static void Main(string[] args) { Cozinha cozinha = new Cozinha(); //Builders SanduicheBuilder b1 = new HamburgerBuilder(); SanduicheBuilder b2 = new FishBuilder(); cozinha.FazSanduiche(b1); b1.GetSanduiche(); Console.ReadKey(); }
/* * - INTENÇÃO: separar a construção de um objeto complexo da sua representação de modo que o mesmo * processo de construção possa criar diferentes representações * - Separa a construção do objeto de sua representação. * - */ static void Main(string[] args) { Cozinha cozinha = new Cozinha(); //Builders SanduicheBuilder b1 = new HamburgerBuilder(); SanduicheBuilder b2 = new FishBuilder(); cozinha.fazSanduiche(b1); b1.getSanduiche(); Console.WriteLine(""); Console.WriteLine("Próximo Pedido"); Console.WriteLine(""); cozinha.fazSanduiche(b2); b2.getSanduiche(); }
static void Main() { Hamburger myHamburger = new HamburgerBuilder() .AddBread() .AddMeal() .AddCheese() .AddTomato() .AddSalad() .AddMayonnaise() .Build(); Console.WriteLine($"My hamburger: {myHamburger}"); Hamburger myWifeHamburger = new HamburgerBuilder() .AddBread() .AddSalad() .Build(); Console.WriteLine($"My wife's hamburger: {myWifeHamburger}"); }
static Hamburger PrepareHamburger(HamburgerBuilder builder) { builder.BuildHamburger(); return(builder.GetHamburger()); }
private static Hamburger getHamburger(HamburgerBuilder builder) { builder.BuildHamburger(); return(builder.GetHamburger()); }