protected override Pizza CreatePizza(string type)
        {
            Pizza pizza = null;
            PizzaIngredientFactory ingredientFactory = new NYPizzaIngredientFactory();

            switch (type)
            {
                case "Cheese":
                    pizza = new CheesePizza(ingredientFactory);
                    pizza.Name = "NY Style Cheese Pizza";
                    break;
                case "Pepperoni":
                    pizza = new PepperoniPizza(ingredientFactory);
                    pizza.Name = "NY Style Pepperoni Pizza";
                    break;
                case "Clam":
                    pizza = new ClamPizza(ingredientFactory);
                    pizza.Name = "NY Style Clam Pizza";
                    break;
                case "Veggie":
                    pizza = new VeggiePizza(ingredientFactory);
                    pizza.Name = "NY Style Veggie Pizza";
                    break;
            }

            return pizza;
        }
Ejemplo n.º 2
0
        protected override Pizza CreatePizza(string item) {
            Pizza pizza = null;
            IPizzaIngredientFactory ingredientFactory = new NYPizzaIngredientFactory();

            if (item.Equals("cheese")) {
                pizza = new CheesePizza(ingredientFactory);
                pizza.SetName("New York style cheese pizza");
            }

            return pizza;
        }
        public Pizza CreatePizza(String type)
        {
            Pizza pizza = null;

            if (type.Equals("cheese"))
                pizza = new CheesePizza();
            if (type.Equals("pepperoni"))
                pizza = new PepperoniPizza();
            // etc.

            return pizza;
        }
Ejemplo n.º 4
0
        public IPizza Create(string type)
        {
            IPizza pizza = null;

            if(type == "Cheese")
            {
                pizza = new CheesePizza();
            }
            else if(type == "Pepperoni")
            {
                pizza = new PepperoniPizza();
            }

            return pizza;
        }
        public Pizza OrderPizza(string type)
        {
            Pizza pizza = null;
            if (type.Equals("cheese"))
                pizza = new CheesePizza();
            else if (type.Equals("greek"))
                pizza = new GreekPizza();
             else if (type.Equals("pepperoni"))
                 pizza = new PepperoniPizza();

            pizza.Prepare();
            pizza.Bake();
            pizza.Cut();
            pizza.Box();
            return pizza;
        }
Ejemplo n.º 6
0
        protected override Pizza CreatePizza(string type)
        {
            Pizza pizza = null;
            IPizzaIngredientFactory ingredientFactory = new ChicagoPizzaIngredientFactory();

            switch (type)
            {
                case "cheese":
                    pizza = new CheesePizza(ingredientFactory);
                    pizza.Name = "Chicago Style Cheese Pizza";
                    break;
                case "clam":
                    pizza = new ClamPizza(ingredientFactory);
                    pizza.Name = "Chicago Style Clam Pizza";
                    break;
                case "pepperoni":
                    pizza = new PepperoniPizza(ingredientFactory);
                    pizza.Name = "Chicago Style Pepperoni Pizza";
                    break;
            }
            return pizza;
        }
        internal Pizza CreatePizza(string type)
        {
            Pizza pizza = null;

            switch (type)
            {
                case "Cheese":
                    pizza = new CheesePizza();
                    break;
                case "Pepperoni":
                    pizza = new PepperoniPizza();
                    break;
                case "Clam":
                    pizza = new ClamPizza();
                    break;
                case "Veggie":
                    pizza = new VeggiePizza();
                    break;
            }

            return pizza;
        }
Ejemplo n.º 8
0
        static void Main(string[] args)
        {
            void strategy()
            {
                //Создаем контекст и инициализируем его первой стратегией
                Context context = new Context(new ConcreteStrategy1());

                //Выполняем операцию (алгоритм) первой стратегии
                context.ExecuteOperation();
                //Заменяем в context первую стратегию на вторую
                context.SetStrategy(new ConcreteStrategy2());
                //Выполняем операцию (алгоритм) теперь уже второй стратегии
                context.ExecuteOperation();
                Console.ReadKey();
            }

            void Decorator()
            {
                Pizza pizza1 = new ItalianPizza();

                pizza1 = new TomatoPizza(pizza1); // итальянская пицца с томатами
                Console.WriteLine("Название: {0}", pizza1.Name);
                Console.WriteLine("Цена: {0}", pizza1.GetCost());

                Pizza pizza2 = new ItalianPizza();

                pizza2 = new CheesePizza(pizza2);// итальянская пиццы с сыром
                Console.WriteLine("Название: {0}", pizza2.Name);
                Console.WriteLine("Цена: {0}", pizza2.GetCost());

                Pizza pizza3 = new BulgerianPizza();

                pizza3 = new TomatoPizza(pizza3);
                pizza3 = new CheesePizza(pizza3);// болгарская пиццы с томатами и сыром
                Console.WriteLine("Название: {0}", pizza3.Name);
                Console.WriteLine("Цена: {0}", pizza3.GetCost());

                Console.ReadLine();
            }

            void Visitor()
            {
                List <Auto> collection = new List <Auto>();

                collection.Add(new Car {
                    ModelTitle = "ВАЗ"
                });
                collection.Add(new Track {
                    ModelTitle = "ГАЗель"
                });
                collection.Add(new Car {
                    ModelTitle = "Merсedes"
                });
                collection.Add(new Track {
                    ModelTitle = "КамАЗ"
                });
                IVisitor visitor = new AutoVisitor();

                foreach (Auto a in collection)
                {
                    a.Accept(visitor);
                }
                Console.ReadKey();
            }

            Decorator();
            strategy();
            Visitor();
        }
Ejemplo n.º 9
0
            public static void JunkBeg(Mobile m, object targeted, double chance)             //Nothing Good. Here have some crap
            {
                Mobile    t          = (Mobile)targeted;
                bool      orcs       = IsOrc(t);
                Container theirPack  = t.Backpack;
                Item      reward     = null;
                string    rewardName = "";

                if (chance >= .76 && m.Skills.Begging.Base >= 75)
                {
                    int rand = Utility.Random(10);

                    if (rand == 0)
                    {
                        reward     = new WoodenBowlOfPeas();
                        rewardName = "a bowl of peas";
                    }
                    else if (rand == 1)
                    {
                        reward     = new CheeseWedge();
                        rewardName = "a cheese wedge";
                    }
                    else if (rand == 2)
                    {
                        reward     = new Dates();
                        rewardName = "some dates";
                    }
                    else if (rand == 3)
                    {
                        reward     = new BeggerCoins(6);
                        rewardName = "6 dull silver coins.";
                    }
                    else if (rand == 4)
                    {
                        reward     = new BeverageBottle(BeverageType.Ale);
                        rewardName = "a bottle of ale";
                    }
                    else if (rand == 5)
                    {
                        reward     = new CheesePizza();
                        rewardName = "a cheese pizza";
                    }
                    else if (rand == 6)
                    {
                        reward     = new Shirt();
                        rewardName = "a shirt";
                    }
                }
                Console.WriteLine("RewardName (3) {0}", reward);
                if (chance >= .25 && reward == null)
                {
                    reward     = new FrenchBread();
                    rewardName = "french bread";
                }

                if (reward == null && orcs == false)                 //Gold from Non Orcs and if you got nothing else from above.
                {
                    int toConsume = theirPack.GetAmount(typeof(Gold)) / 10;
                    int max       = 10 + (m.Fame / 2500);

                    if (max > 14)
                    {
                        max = 14;
                    }
                    else if (max < 10)
                    {
                        max = 10;
                    }

                    if (toConsume > max)
                    {
                        toConsume = max;
                    }

                    if (toConsume > 0)
                    {
                        int consumed = theirPack.ConsumeUpTo(typeof(Gold), toConsume);

                        if (consumed > 0)
                        {
                            t.PublicOverheadMessage(MessageType.Regular, t.SpeechHue, 500405);
                            // I feel sorry for thee...

                            Gold gold = new Gold(consumed);

                            reward     = new Gold(consumed);
                            rewardName = "Gold";
                            m.PlaySound(gold.GetDropSound());
                            if (orcs == false)
                            {
                                if (m.Karma > -3000)
                                {
                                    int toLose = m.Karma + 3000;

                                    if (toLose > 40)
                                    {
                                        toLose = 40;
                                    }

                                    Titles.AwardKarma(m, -toLose, true);
                                }
                            }
                        }
                        else
                        {
                            if (orcs == false)                             //Orcs Dont speak English
                            {
                                t.PublicOverheadMessage(MessageType.Regular, t.SpeechHue, 500407);
                            }
                            // I have not enough money to give thee any!
                        }
                    }
                    else
                    {
                        if (orcs == false)                         //Orcs Dont Speak English
                        {
                            t.PublicOverheadMessage(MessageType.Regular, t.SpeechHue, 500407);
                        }
                        // I have not enough money to give thee any!
                    }
                }
                Reward(m, t, reward, rewardName);
            }
        /// <summary>
        /// Displays Pizza Menu for user
        /// </summary>
        /// <param name="c"></param>

        public static void PizzaMenu(List <APizza> c)
        {
            var ps = PizzaSingleton.Instance;

            ps.Seeding();

            System.Console.WriteLine("\n--------------------------");
            System.Console.WriteLine("Select a Pizza");
            System.Console.WriteLine("--------------------------");

            var pizzaSelCount = 1;

            foreach (var item in ps.Pizzas)
            {
                System.Console.WriteLine("{0}.) {1}", pizzaSelCount, item);
                pizzaSelCount += 1;
            }

            var userInput = System.Console.ReadLine();
            // First input check --> is it a number?
            var userChoice = inputValidInt(userInput);

            // Second input check --> is the input in range of the menu options?
            userChoice = inputValidRange(userChoice, ps.Pizzas.Count);

            var userPizzaChoice = ps.Pizzas[userChoice - 1].Name;

            //System.Console.WriteLine("\nPizza chosen: {0}", userPizzaChoice);

            switch (userPizzaChoice.ToLower())
            {
            case "custom pizza":
                var         crustChoice    = CrustMenu();
                var         sizeChoice     = SizeMenu();
                var         toppingsChoice = ToppingsMenu();
                CustomPizza cp             = new CustomPizza(crustChoice, sizeChoice, toppingsChoice);
                c.Add(cp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", cp.Size.Name, cp.Name, cp.Crust.Name);
                break;

            case "cheese pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                CheesePizza userPizza = new CheesePizza(crustChoice, sizeChoice);
                c.Add(userPizza);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", userPizza.Size.Name, userPizza.Name, userPizza.Crust.Name);
                break;

            case "hawaiian pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                HawaiianPizza hp = new HawaiianPizza(crustChoice, sizeChoice);
                c.Add(hp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", hp.Size.Name, hp.Name, hp.Crust.Name);
                break;

            case "pepperoni pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                PepperoniPizza pp = new PepperoniPizza(crustChoice, sizeChoice);
                c.Add(pp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", pp.Size.Name, pp.Name, pp.Crust.Name);
                break;

            case "sausage pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                SausagePizza sp = new SausagePizza(crustChoice, sizeChoice);
                c.Add(sp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", sp.Size.Name, sp.Name, sp.Crust.Name);
                break;

            case "veggie pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                VeggiePizza vp = new VeggiePizza(crustChoice, sizeChoice);
                c.Add(vp);
                Console.WriteLine("\nA {0} {1} with {2} crust has been added to your cart!", vp.Size.Name, vp.Name, vp.Crust.Name);
                break;
            }
        }
Ejemplo n.º 11
0
        public List <APizzaModel> SelectPizzas()
        {
            bool Leave = true;
            List <APizzaModel>  Pizzas   = new List <APizzaModel>();
            APizzaModel         test     = new ChickenPizza();
            GenericPizzaFactory _factory = new GenericPizzaFactory();

            do
            {
                PrintAllPizzas();
                System.Console.WriteLine("Select a pizza\n 1: Chicken Pizza \n 2: Pepperoni Pizza \n 3: Cheese Pizza \n 5: Finish");
                int.TryParse(Console.ReadLine(), out int input);
                switch (input)
                {
                case 1:
                {
                    var size  = SelectSize();
                    var crust = SelectCrust();
                    var pizza = new ChickenPizza(size, crust);
                    Pizzas.Add(pizza);
                    break;
                }

                case 2:
                {
                    var size  = SelectSize();
                    var crust = SelectCrust();
                    var pizza = new PepperoniPizza(size, crust);
                    Pizzas.Add(pizza);
                    break;
                }

                case 3:
                {
                    var size  = SelectSize();
                    var crust = SelectCrust();
                    var pizza = new CheesePizza(size, crust);
                    Pizzas.Add(pizza);
                    break;
                }

                case 4:
                {
                    break;
                }

                case 5:
                {
                    Leave = false;
                    break;
                }

                default:
                {
                    Console.WriteLine("Please enter a valid choice");
                    break;
                }
                }
            } while (Leave);
            return(Pizzas);
        }
Ejemplo n.º 12
0
        static void Main(string[] args)
        {
            IPizza pizza = new CheesePizza(new CapsicumPizza(new BasePizza()));

            Console.WriteLine(pizza.getCost());
        }
Ejemplo n.º 13
0
        static void Main(string[] args)
        {
            #region Creational
            //-Factory Method-
            Developer dev    = new PanelDeveloper("ООО КирпичСтрой");
            House     house2 = dev.Create();
            dev = new WoodDeveloper("Частный застройщик");
            House house = dev.Create();

            //-Abstract Factory-
            GofPatterns.Creational.Hero elf = new GofPatterns.Creational.Hero(new ElfFactory());
            elf.Hit();
            elf.Run();
            GofPatterns.Creational.Hero voin = new GofPatterns.Creational.Hero(new VoinFactory());
            voin.Hit();
            voin.Run();

            //-Singleton-
            Computer comp = new Computer();
            comp.Launch("Windows 8.1");
            Console.WriteLine(comp.OS.Name);

            // у нас не получится изменить ОС, так как объект уже создан
            comp.OS = OS.getInstance("Windows 10");

            //-Prototype-
            IFigure figure       = new Rectangle(30, 40);
            IFigure clonedFigure = figure.Clone();
            figure.GetInfo();
            clonedFigure.GetInfo();

            figure       = new Circle(30);
            clonedFigure = figure.Clone();
            figure.GetInfo();
            clonedFigure.GetInfo();

            //-Builder-
            // содаем объект пекаря
            Baker baker = new Baker();
            // создаем билдер для ржаного хлеба
            BreadBuilder builder = new RyeBreadBuilder();
            // выпекаем
            Bread ryeBread = baker.Bake(builder);
            Console.WriteLine(ryeBread.ToString());
            // оздаем билдер для пшеничного хлеба
            builder = new WheatBreadBuilder();
            Bread wheatBread = baker.Bake(builder);
            Console.WriteLine(wheatBread.ToString());
            #endregion

            #region Behavioral
            //-Strategy-
            Car auto = new Car(4, "Volvo", new PetrolMove());
            auto.Move();
            auto.Movable = new ElectricMove();
            auto.Move();


            //-Observer-
            Stock  stock  = new Stock();
            Bank   bank   = new Bank("ЮнитБанк", stock);
            Broker broker = new Broker("Иван Иваныч", stock);
            // имитация торгов
            stock.Market();
            // брокер прекращает наблюдать за торгами
            broker.StopTrade();
            // имитация торгов
            stock.Market();


            //-Strategy-
            Pult pult = new Pult();
            TV   tv   = new TV();
            pult.SetCommand(new TVOnCommand(tv));
            pult.PressButton();
            pult.PressUndo();

            Microwave microwave = new Microwave();
            // 5000 - время нагрева пищи
            pult.SetCommand(new MicrowaveCommand(microwave, 5000));
            pult.PressButton();


            //-Iterator-
            Library library = new Library();
            Reader  reader  = new Reader();
            reader.SeeBooks(library);


            //-State-
            Water water = new Water(new LiquidWaterState());
            water.Heat();
            water.Frost();
            water.Frost();


            //-ChainOfResponsibility-
            Handler h1 = new ConcreteHandler1();
            Handler h2 = new ConcreteHandler2();
            h1.Successor = h2;
            h1.HandleRequest(2);


            //-Interpreter-
            Context context = new Context();
            // определяем набор переменных
            int x = 5;
            int y = 8;
            int z = 2;
            // добавляем переменные в контекст
            context.SetVariable("x", x);
            context.SetVariable("y", y);
            context.SetVariable("z", z);
            // создаем объект для вычисления выражения x + y - z
            IExpression expression = new SubtractExpression(
                new AddExpression(
                    new NumberExpression("x"), new NumberExpression("y")
                    ),
                new NumberExpression("z")
                );
            int result = expression.Interpret(context);
            Console.WriteLine("результат: {0}", result);


            //-Mediator-
            ManagerMediator mediator   = new ManagerMediator();
            Colleague       customer   = new CustomerColleague(mediator);
            Colleague       programmer = new ProgrammerColleague(mediator);
            Colleague       tester     = new TesterColleague(mediator);
            mediator.Customer   = customer;
            mediator.Programmer = programmer;
            mediator.Tester     = tester;
            customer.Send("Есть заказ, надо сделать программу");
            programmer.Send("Программа готова, надо протестировать");
            tester.Send("Программа протестирована и готова к продаже");


            //-Memento-
            GofPatterns.Behavioral.Hero hero = new GofPatterns.Behavioral.Hero();
            hero.Shoot();                        // делаем выстрел, осталось 9 патронов
            GameHistory game = new GameHistory();
            game.History.Push(hero.SaveState()); // сохраняем игру
            hero.Shoot();                        //делаем выстрел, осталось 8 патронов
            hero.RestoreState(game.History.Pop());
            hero.Shoot();                        //делаем выстрел, осталось 8 патронов


            //-Visitor-
            var structure = new Bank1();
            structure.Add(new Person {
                Name = "Иван Алексеев", Number = "82184931"
            });
            structure.Add(new Company {
                Name = "Microsoft", RegNumber = "ewuir32141324", Number = "3424131445"
            });
            structure.Accept(new HtmlVisitor());
            structure.Accept(new XmlVisitor());
            #endregion

            #region Structural
            //-Decorator-
            Pizza pizza1 = new ItalianPizza();
            pizza1 = new TomatoPizza(pizza1); // итальянская пицца с томатами
            Console.WriteLine("Название: {0}", pizza1.Name);
            Console.WriteLine("Цена: {0}", pizza1.GetCost());

            Pizza pizza2 = new ItalianPizza();
            pizza2 = new CheesePizza(pizza2);// итальянская пиццы с сыром
            Console.WriteLine("Название: {0}", pizza2.Name);
            Console.WriteLine("Цена: {0}", pizza2.GetCost());

            Pizza pizza3 = new BulgerianPizza();
            pizza3 = new TomatoPizza(pizza3);
            pizza3 = new CheesePizza(pizza3);// болгарская пиццы с томатами и сыром
            Console.WriteLine("Название: {0}", pizza3.Name);
            Console.WriteLine("Цена: {0}", pizza3.GetCost());


            //-Adapter-
            // путешественник
            Driver driver = new Driver();
            // машина
            Auto auto1 = new Auto();
            // отправляемся в путешествие
            driver.Travel(auto1);
            // встретились пески, надо использовать верблюда
            Camel camel = new Camel();
            // используем адаптер
            ITransport camelTransport = new CamelToTransportAdapter(camel);
            // продолжаем путь по пескам пустыни
            driver.Travel(camelTransport);


            //-Facade-
            TextEditor         textEditor  = new TextEditor();
            Compiller          compiller   = new Compiller();
            CLR                clr         = new CLR();
            VisualStudioFacade ide         = new VisualStudioFacade(textEditor, compiller, clr);
            Programmer         programmer1 = new Programmer();
            programmer1.CreateApplication(ide);


            //-Composite-
            Component fileSystem = new Directory("Файловая система");
            // определяем новый диск
            Component diskC = new Directory("Диск С");
            // новые файлы
            Component pngFile  = new File("12345.png");
            Component docxFile = new File("Document.docx");
            // добавляем файлы на диск С
            diskC.Add(pngFile);
            diskC.Add(docxFile);
            // добавляем диск С в файловую систему
            fileSystem.Add(diskC);
            // выводим все данные
            fileSystem.Print();
            Console.WriteLine();
            // удаляем с диска С файл
            diskC.Remove(pngFile);
            // создаем новую папку
            Component docsFolder = new Directory("Мои Документы");
            // добавляем в нее файлы
            Component txtFile = new File("readme.txt");
            Component csFile  = new File("Program.cs");
            docsFolder.Add(txtFile);
            docsFolder.Add(csFile);
            diskC.Add(docsFolder);
            fileSystem.Print();


            //-Proxy-
            using (IBook book = new BookStoreProxy())
            {
                // читаем первую страницу
                Page page1 = book.GetPage(1);
                Console.WriteLine(page1.Text);
                // читаем вторую страницу
                Page page2 = book.GetPage(2);
                Console.WriteLine(page2.Text);
                // возвращаемся на первую страницу
                page1 = book.GetPage(1);
                Console.WriteLine(page1.Text);
            }


            //-Bridge-
            // создаем нового программиста, он работает с с++
            Programmer1 freelancer = new FreelanceProgrammer(new CPPLanguage());
            freelancer.DoWork();
            freelancer.EarnMoney();
            // пришел новый заказ, но теперь нужен c#
            freelancer.Language = new CSharpLanguage();
            freelancer.DoWork();
            freelancer.EarnMoney();


            //-Flyweight-
            double longitude = 37.61;
            double latitude  = 55.74;

            HouseFactory houseFactory = new HouseFactory();
            for (int i = 0; i < 5; i++)
            {
                House1 panelHouse = houseFactory.GetHouse("Panel");
                if (panelHouse != null)
                {
                    panelHouse.Build(longitude, latitude);
                }
                longitude += 0.1;
                latitude  += 0.1;
            }

            for (int i = 0; i < 5; i++)
            {
                House1 brickHouse = houseFactory.GetHouse("Brick");
                if (brickHouse != null)
                {
                    brickHouse.Build(longitude, latitude);
                }
                longitude += 0.1;
                latitude  += 0.1;
            }
            #endregion
        }
Ejemplo n.º 14
0
        public void Test_CheeseIsCorrect()
        {
            var sut = new CheesePizza();

            Console.WriteLine(sut.Name, sut.Size, sut.Crust, sut.Sauce, sut.ToppingsString(), sut.Price);
        }
Ejemplo n.º 15
0
        /// <summary>
        /// Displays Pizza Menu for user
        /// </summary>
        /// <param name="c"></param>

        public static void PizzaMenu(List <APizza> c)
        {
            var ps = PizzaSingleton.Instance;

            ps.Seeding();

            System.Console.WriteLine("\nSelect a Pizza");
            System.Console.WriteLine("--------------------------");

            var pizzaSelCount = 1;

            foreach (var item in ps.Pizzas)
            {
                System.Console.WriteLine(pizzaSelCount + ".) " + item);
                pizzaSelCount += 1;
            }

            var userChoice      = int.Parse(System.Console.ReadLine());
            var userPizzaChoice = ps.Pizzas[userChoice - 1].Name;

            System.Console.WriteLine("Pizza chosen: {0}", userPizzaChoice);



            switch (userPizzaChoice.ToLower())
            {
            case "custom pizza":
                var crustChoice = CrustMenu();
                var sizeChoice  = SizeMenu();
                ToppingsMenu();
                CustomPizza cp = new CustomPizza();
                c.Add(cp);
                break;

            case "cheese pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                CheesePizza userPizza = new CheesePizza(crustChoice, sizeChoice);
                c.Add(userPizza);
                break;

            case "hawaiian pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                HawaiianPizza hp = new HawaiianPizza(crustChoice, sizeChoice);
                c.Add(hp);
                break;

            case "pepperoni pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                PepperoniPizza pp = new PepperoniPizza(crustChoice, sizeChoice);
                c.Add(pp);
                break;

            case "sausage pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                SausagePizza sp = new SausagePizza(crustChoice, sizeChoice);
                c.Add(sp);
                break;

            case "veggie pizza":
                crustChoice = CrustMenu();
                sizeChoice  = SizeMenu();
                VeggiePizza vp = new VeggiePizza(crustChoice, sizeChoice);
                c.Add(vp);
                break;
            }
        }
Ejemplo n.º 16
0
        static void Main(string[] args)
        {
            Console.WriteLine("1-decorator,2-adapter,3-composite");
            int number = 1;

            while (number != 0)
            {
                Console.WriteLine("enter pattern number");
                number = Convert.ToInt32(Console.ReadLine());
                switch (number)
                {
                case 1:
                    Console.WriteLine("enter pizza number");
                    Console.WriteLine("1-итальянская пицца с томатами,2- итальянская пиццы с сыром,3-итальянская пиццы с томатами и сыром");
                    int number1 = 1;
                    if (number1 != 0)
                    {
                        number1 = Convert.ToInt32(Console.ReadLine());
                        switch (number1)
                        {
                        case 1:
                            Console.WriteLine("итальянская пицца с томатами");
                            Pizza pizza1 = new ItalianPizza();
                            pizza1 = new TomatoPizza(pizza1);
                            Console.WriteLine("Название: {0}", pizza1.Name);
                            Console.WriteLine("Цена: {0}", pizza1.GetCost());
                            break;

                        case 2:
                            Console.WriteLine(" итальянская пиццы с сыром");
                            Pizza pizza2 = new ItalianPizza();
                            pizza2 = new CheesePizza(pizza2);
                            Console.WriteLine("Название: {0}", pizza2.Name);
                            Console.WriteLine("Цена: {0}", pizza2.GetCost());
                            break;

                        case 3:
                            Console.WriteLine("итальянская пиццы с томатами и сыром");
                            Pizza pizza3 = new ItalianPizza();
                            pizza3 = new TomatoPizza(pizza3);
                            pizza3 = new CheesePizza(pizza3);
                            Console.WriteLine("Название: {0}", pizza3.Name);
                            Console.WriteLine("Цена: {0}", pizza3.GetCost());
                            break;

                        default:
                            Console.WriteLine("error");
                            break;
                        }
                    }

                    break;

                case 2:
                    // путешественник
                    Driver driver = new Driver();
                    // машина
                    Auto auto = new Auto();
                    // отправляемся в путешествие
                    driver.Travel(auto);
                    // встретились пески, надо использовать верблюда
                    Camel camel = new Camel();
                    // используем адаптер
                    ITransport camelTransport = new CamelToTransportAdapter(camel);
                    // продолжаем путь по пескам пустыни
                    driver.Travel(camelTransport);
                    break;

                case 3:
                    Component fileSystem = new Directory("Файловая система");
                    // определяем новый диск
                    Component diskC = new Directory("Диск С");
                    // новые файлы
                    Component pngFile  = new File("12345.png");
                    Component docxFile = new File("Document.docx");
                    // добавляем файлы на диск С
                    diskC.Add(pngFile);
                    diskC.Add(docxFile);
                    // добавляем диск С в файловую систему
                    fileSystem.Add(diskC);
                    // выводим все данные
                    fileSystem.Print();
                    Console.WriteLine();
                    // удаляем с диска С файл
                    diskC.Remove(pngFile);
                    // создаем новую папку
                    Component docsFolder = new Directory("Мои Документы");
                    // добавляем в нее файлы
                    Component txtFile = new File("readme.txt");
                    Component csFile  = new File("Program.cs");
                    docsFolder.Add(txtFile);
                    docsFolder.Add(csFile);
                    diskC.Add(docsFolder);

                    fileSystem.Print();

                    break;

                default:
                    Console.WriteLine("error");
                    break;
                }
                number = 1;
            }
        }