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; }
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; }
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; }
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; }
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(); }
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; } }
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); }
static void Main(string[] args) { IPizza pizza = new CheesePizza(new CapsicumPizza(new BasePizza())); Console.WriteLine(pizza.getCost()); }
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 }
public void Test_CheeseIsCorrect() { var sut = new CheesePizza(); Console.WriteLine(sut.Name, sut.Size, sut.Crust, sut.Sauce, sut.ToppingsString(), sut.Price); }
/// <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; } }
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; } }