Esempio n. 1
0
        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");
        }
Esempio n. 2
0
        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();
        }
Esempio n. 3
0
        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);
        }
Esempio n. 5
0
        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();
        }
Esempio n. 6
0
        // Это фабричный метод!!!
        // Создает наследование
        // Здесь нужно расширять класс и переопределять фабричный методы (методы), который создает объекты
        // Вся суть этого паттерна заключается в использовании субкласса, который за нас создает объекты.
        // Клиенты достаточно знать абстрактный тип, который они используют, а суб класс имеет дело с различными конкретными типами!
        static void Main(string[] args)
        {
            PizzaStore nyPizzaStore      = new NYStylePizzaStore();
            PizzaStore ChicagoPizzaStore = new ChicagoStylePizzaStore();

            Pizza pizza = nyPizzaStore.OrderPizza("cheese");

            pizza = ChicagoPizzaStore.OrderPizza("clam");
        }
Esempio n. 7
0
        /// <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);
        }
Esempio n. 10
0
        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);
        }
Esempio n. 12
0
        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.");
            }
        }