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"); }
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(); }
public void CreateNYStyleCheesePizza() { PizzaStore NYStore = new NYStylePizzaStore(); Pizza pizza = NYStore.OrderPizza("cheese", Size.Large); Assert.AreEqual("NYStyle cheese", pizza.Name); Assert.AreEqual(Size.Large, pizza.Size); }
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(); }
// Это фабричный метод!!! // Создает наследование // Здесь нужно расширять класс и переопределять фабричный методы (методы), который создает объекты // Вся суть этого паттерна заключается в использовании субкласса, который за нас создает объекты. // Клиенты достаточно знать абстрактный тип, который они используют, а суб класс имеет дело с различными конкретными типами! static void Main(string[] args) { PizzaStore nyPizzaStore = new NYStylePizzaStore(); PizzaStore ChicagoPizzaStore = new ChicagoStylePizzaStore(); Pizza pizza = nyPizzaStore.OrderPizza("cheese"); pizza = ChicagoPizzaStore.OrderPizza("clam"); }
/// <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); }
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); }
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} です"); }
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."); } }