public static void UseFactoryMethodPattern(IView view) { PizzaStore nyStore = new NYStylePizzaStore(view); view.DisplayMessage("Orderring a NY cheese pizza: "); Pizza nyCheesePizza = nyStore.OrderPizza("cheese"); view.DisplayMessage($"{nyCheesePizza.GetName()} is ready"); view.DisplayMessage(string.Empty); view.DisplayMessage("Orderring a NY pepperoni pizza: "); Pizza nyPepperoniPizza = nyStore.OrderPizza("pepperoni"); view.DisplayMessage($"{nyPepperoniPizza.GetName()} is ready"); view.DisplayMessage(string.Empty); PizzaStore chicagoStore = new ChicagoStylePizzaStore(view); view.DisplayMessage("Orderring a Chicago veggie pizza: "); Pizza chicagoCheesePizza = chicagoStore.OrderPizza("veggie"); view.DisplayMessage($"{chicagoCheesePizza.GetName()} is ready"); }
public void CreateChicagoStyleCheesePizza() { PizzaStore chicagoStore = new ChicagoStylePizzaStore(); Pizza pizza = chicagoStore.OrderPizza("cheese", Size.Large); Assert.AreEqual("ChicagoStyle cheese", pizza.Name); Assert.AreEqual(Size.Large, pizza.Size); }
public string CheeseChicagoStyle() { Events.Clear(); var chicagoStylePizzaStore = new ChicagoStylePizzaStore(); chicagoStylePizzaStore.OrderPizza(Patterns.Factory.Model.EnumTypePizza.Cheese); return(Events.Print()); }
public static void OpenShop() { Tools.ColorfulWriteLine("Pizza Shop is open for business! Our recipes are home-brewed " + "by pizza artisans.\n", ConsoleColor.Blue); Tools.ColorfulWriteLine("What is your name?", ConsoleColor.Blue); string name = Console.ReadLine(); bool orderPizza = true; while (orderPizza) { Tools.ColorfulWriteLine($"Hey {name}, would you like to eat in our New York or Chicago location? NY | Chicago", ConsoleColor.Blue); string location = null; while (location == null) { string input = Console.ReadLine().ToLower(); if (input == "ny") { location = "ny"; } else if (input == "chicago") { location = "chicago"; } else { Tools.ColorfulWriteLine("You entered an invalid location, please choose either NY or Chicago", ConsoleColor.Red); } } if (location == "ny") { NYStylePizzaStore nyStore = new NYStylePizzaStore(); Tools.ColorfulWriteLine("Thank you for choosing our NY location. What kind of " + "pizza would you like to order? Cheese | Clam | Pepperoni | Veggie", ConsoleColor.Blue); string input = Console.ReadLine().ToLower(); Enum.TryParse(input, out PizzaTypes order); // This tries to parse the input and output it as the out variable as enum Pizza pizza = nyStore.orderPizza(order); Tools.ColorfulWriteLine($"{name} ordered a {pizza.getName()}\n", ConsoleColor.Green); } else if (location == "chicago") { ChicagoStylePizzaStore chicagoStore = new ChicagoStylePizzaStore(); Tools.ColorfulWriteLine("Thank you for choosing our Chicago location. What kind of " + "pizza would you like to order? Cheese | Clam | Pepperoni | Veggie", ConsoleColor.Blue); string input = Console.ReadLine().ToLower(); Enum.TryParse(input, out PizzaTypes order); Pizza pizza = chicagoStore.orderPizza(order); Tools.ColorfulWriteLine($"{name} ordered a {pizza.getName()}\n", ConsoleColor.Green); } Tools.ColorfulWriteLine("Would you like to order again? Y | N", ConsoleColor.Blue); string shopAgain = Console.ReadLine().ToLower(); if (shopAgain != "y") { orderPizza = false; } Tools.ColorfulWriteLine("Thank you for shopping with us!", ConsoleColor.Yellow); } }
// Это фабричный метод!!! // Создает наследование // Здесь нужно расширять класс и переопределять фабричный методы (методы), который создает объекты // Вся суть этого паттерна заключается в использовании субкласса, который за нас создает объекты. // Клиенты достаточно знать абстрактный тип, который они используют, а суб класс имеет дело с различными конкретными типами! static void Main(string[] args) { PizzaStore nyPizzaStore = new NYStylePizzaStore(); PizzaStore ChicagoPizzaStore = new ChicagoStylePizzaStore(); Pizza pizza = nyPizzaStore.OrderPizza("cheese"); pizza = ChicagoPizzaStore.OrderPizza("clam"); }
private static void PrintChicagoPizzaStore() { PizzaStore pizzaStore = new ChicagoStylePizzaStore(); pizzaStore.OrderPizza(PizzaType.Cheese); Console.Out.WriteLine(); pizzaStore.OrderPizza(PizzaType.Clam); Console.Out.WriteLine(); pizzaStore.OrderPizza(PizzaType.Veggie); }
/// <summary> /// O padrão Factory Method define uma interface para criar um objeto, mas permite às classes decidir qual classe instanciar. /// Ele permite a uma classe deferir a instanciação para subclasses. /// </summary> private static void TestFactory() { PizzaStore nyStore = new NYStylePizzaStore(); PizzaStore chicagoStore = new ChicagoStylePizzaStore(); nyStore.OrderPizza(PizzaType.Cheese); Console.WriteLine(); chicagoStore.OrderPizza(PizzaType.Cheese); }
static void Main(string[] args) { PizzaStore nyStore = new NyStylePizzaStore(); PizzaStore chicagoStore = new ChicagoStylePizzaStore(); Pizza pizza = nyStore.OrderPizza("cheese"); Console.WriteLine("Ethan ordered a " + pizza.GetName() + "\n"); pizza = chicagoStore.OrderPizza("cheese"); Console.WriteLine("Joel ordered a " + pizza.GetName() + "\n"); }
public static void Start() { PizzaStore nyStore = new NYStylePizzaStore(); PizzaStore chicagoStore = new ChicagoStylePizzaStore(); Pizza pizza = nyStore.OrderPizza("cheese"); Console.WriteLine("Ethan ordered a " + pizza.Name + "\n"); pizza = chicagoStore.OrderPizza("cheese"); Console.WriteLine("Joel ordered a " + pizza.Name + "\n"); }
static void Main(string[] args) { var nyStore = new NYStylePizzaStore(); var chicagoStore = new ChicagoStylePizzaStore(); Pizza pizza; pizza = nyStore.OrderPizza("cheese"); Console.WriteLine("Ethan ordered a " + pizza.Name + Environment.NewLine); pizza = chicagoStore.OrderPizza("cheese"); Console.WriteLine("Joel ordered a " + pizza.Name + Environment.NewLine); }
static void Main(string[] args) { PizzaStore store = new NYStylePizzaStore(); store.OrderPizza("cheese"); Console.WriteLine(); store.OrderPizza("pepperony"); Console.WriteLine(); store = new ChicagoStylePizzaStore(); store.OrderPizza("cheese"); Console.WriteLine(); store.OrderPizza("pepperony"); Console.ReadLine(); }
static void Main(string[] args) { var newYorkStylePizzaStore = new NYStylePizzaStore(); newYorkStylePizzaStore.OrderPizza("cheese"); Console.WriteLine(); newYorkStylePizzaStore.OrderPizza("clam"); Console.WriteLine(); var chicagoStylePizzaStore = new ChicagoStylePizzaStore(); chicagoStylePizzaStore.OrderPizza("cheese"); Console.WriteLine(); chicagoStylePizzaStore.OrderPizza("clam"); Console.ReadLine(); }
private void FactoryTest_Click(object sender, RoutedEventArgs e) { var nyPizzaIngredientFactory = new NYPizzaIngredientFactory(); var nyPizzaStore = new NYStylePizzaStore(nyPizzaIngredientFactory); var chicagopizzaStore = new ChicagoStylePizzaStore(nyPizzaIngredientFactory); Console.WriteLine(); var pizza1 = nyPizzaStore.OrderPizza("cheese"); Console.WriteLine($"1つ目の注文は {pizza1.Name} です"); Console.WriteLine(); var pizza2 = chicagopizzaStore.OrderPizza("cheese"); Console.WriteLine($"2つ目の注文は {pizza2.Name} です"); }
static void Main(string[] args) { var chicagoPizzaStore = new ChicagoStylePizzaStore(); var newYorkPizzaStore = new NYStylePizzaStore(); WriteLine("Chicago pizza ordered"); chicagoPizzaStore.OrderPizza(PizzaTypesEn.Cheese); WriteLine(); WriteLine(); WriteLine("NY pizza ordered"); newYorkPizzaStore.OrderPizza(PizzaTypesEn.Cheese); WriteLine(); WriteLine(); WriteLine("Chicago pizza ordered"); chicagoPizzaStore.OrderPizza(PizzaTypesEn.Clam); WriteLine(); WriteLine(); WriteLine("NY pizza ordered"); newYorkPizzaStore.OrderPizza(PizzaTypesEn.Clam); WriteLine(); WriteLine(); WriteLine("Chicago pizza ordered"); chicagoPizzaStore.OrderPizza(PizzaTypesEn.Veggie); WriteLine(); WriteLine(); WriteLine("NY pizza ordered"); newYorkPizzaStore.OrderPizza(PizzaTypesEn.Veggie); WriteLine(); WriteLine(); WriteLine("Chicago pizza ordered"); chicagoPizzaStore.OrderPizza(PizzaTypesEn.Pepperoni); WriteLine(); WriteLine(); WriteLine("NY pizza ordered"); newYorkPizzaStore.OrderPizza(PizzaTypesEn.Pepperoni); WriteLine(); WriteLine(); }
public static void Run() { PizzaStore nyStore = new NYStylePizzaStore(); Pizza pizza = nyStore.OrderPizza("cheese"); Console.WriteLine("Ethan ordered a " + pizza.Name + "\n\n"); PizzaStore chicagoStore = new ChicagoStylePizzaStore(); pizza = chicagoStore.OrderPizza("pepperoni"); Console.WriteLine("Ethan ordered a " + pizza.Name); //PizzaStore depStore = new DependentPizzaStore("Chicago"); //pizza = depStore.OrderPizza("cheese"); //Console.WriteLine("Ethan ordered a " + pizza.Name); }
public static void Main(string[] args) { // Here I am declaring both of my Pizza Store to order same type of pizza for both of the store. PizzaStore NYPizzaStore = new NYStylePizzaStore(); PizzaStore ChicagoPizzaStore = new ChicagoStylePizzaStore(); Console.WriteLine("Welcome to my Pizza Store!"); Console.WriteLine("Please enter your pizza type from"); Console.WriteLine("(Cheese)(Clam)"); var pizzaType = Console.ReadLine(); // Now NY Pizza Store is prepare my order. var NYPizza = NYPizzaStore.OrderPizza(pizzaType); // Here I am returning my pizza that I have received from NY Pizza Store. if (NYPizza != null) { Console.WriteLine("Thank for Ordering " + NYPizza.GetType() + " please collect your order from front desk in 15 min"); } else { Console.WriteLine("We are sorry to serve you today. Facing issue with the system."); } // Now Chicago Pizza Store is prepare my order. var ChicagoPizza = ChicagoPizzaStore.OrderPizza(pizzaType); // Here I am returning my pizza that I have received from NY Pizza Store. if (ChicagoPizza != null) { Console.WriteLine("Thank for Ordering " + ChicagoPizza.GetType() + " please collect your order from front desk in 15 min"); } else { Console.WriteLine("We are sorry to serve you today. Facing issue with the system."); } }