protected override void Run() { Creator creator = new ConcreteCreator(); Product prouct = creator.CreateProduct(); prouct.Show(); }
public void I_Can_Create_MyProduct_By_ConcreteCreator() { var creator = new ConcreteCreator(); var product = creator.CreateProduct(); Assert.IsTrue(product.GetType() == typeof(MyProduct)); }
public void createListFilesFromHtml() { string path = Path.Combine(this.currentAdress, this.view.SelectedItems[0].Text); var reader = new StreamReader(path, Encoding.GetEncoding(1251)); string text = reader.ReadToEnd(); string ans = ""; while (true) { int pos = text.IndexOf("<a href="); if (pos == -1) { break; } int start = pos + 9; string adress = ""; while (text[start] != '\"') { adress += text[start++]; } text = text.Substring(start, text.Length - start); ans = ans + adress + "\n"; } Creator cr = new ConcreteCreator(Path.Combine(this.currentAdress, this.view.SelectedItems[0].Text.Split('.')[0] + "_ListOfFiles"), 1, ans); cr.Create(); this.buildDirectories(this.currentAdress); }
public IActionResult Sale() { string productType = ProductType.PHYSICAL; ConcreteCreator factory = new ConcreteCreator(); Product products = factory.GetProduct(productType); var PackageSlip = products.sale("Item", 3); switch (productType) { case "physical": //generate packing slip break; case "book": //generate packing slip break; case "membership": //generate packing slip break; case "Upgrade": //generate packing slip break; default: break; } return(Json(PackageSlip)); }
private static void FactoryMethodExample() { var creator = new ConcreteCreator(); var product = creator.FactoryMethod(); Console.WriteLine($"Product Type: {product.GetType().Name}"); }
public override void Handle(Receiver receiver, SentMessage smMessage, SchoolStaff ss, string ssp, ApplicationDbContext context) { if (receiver.SentMessage == true) { try { if ((smMessage.TypeMessage == TypeMessage.Phone) && (ssp == string.Empty)) { receiver.WriteDb = false; } else { var cc = new ConcreteCreator(); var a = cc.FactoryMethod(smMessage); a.ConcreteMessage(ss, ssp); receiver.WriteDb = true; smMessage.Status = true; } } catch (Exception e) { smMessage.Status = false; Console.WriteLine(e); throw; } if (Successor != null) { Successor.Handle(receiver, smMessage, ss, ssp, context); } } }
public void test() { IList<string> cabecera = new List<string>(); Creator aCreator = new ConcreteCreator(); ProductoExcel product = aCreator.FactoryMethod(ConcreteCreator.TipoExcel.XLS); //product.CargarDatos(cabecera); }
static void main2() { Creator creator = new ConcreteCreator(); Posilek produkt = creator.Create("Sniadanie"); Console.WriteLine(produkt.getName()); }
static void Main(string[] args) { Creator creator = new ConcreteCreator(); Product product = creator.FactoryMethod(); creator.Operation(); }
public void TestCookingMethods() { ConcreteCreator cooker = new ConcreteCreator(); var product1 = cooker.CookConcreteClass <ConcreteProduct>(); var product2 = cooker.CookConcreteClass <ConcreteProduct>(new object[] { "Name", "Description" }); }
public void Should_Get_The_Right_Biometric_Controller_By_Type() { ICreator instance = new ConcreteCreator(); var creator = instance.FactoryMethod(Manufacturer.Biometric); var expectedValue = "Door opened by biometric"; Assert.AreEqual(expectedValue, creator.OpenDoor()); }
public void Should_Return_The_Right_Card_Instance() { ICreator instance = new ConcreteCreator(); var expectedType = "CardController"; var type = instance.FactoryMethod(Manufacturer.Card).GetType().Name; Assert.AreEqual(expectedType, type); }
public int TestLowBonusValue() { ConcreteCreator cc = new ConcreteCreator(); cc.CreateEmployeeList(); int check = cc.CheckToLowEmployeeBonus(); return(check); }
static void Main(string[] args) { Product.Product product = null; var creator = new ConcreteCreator(); product = creator.FactoryMethod(); creator.AnOperation(); }
static void Main(string[] args) { Creator creator = new ConcreteCreator(); Product product = creator.Factory_Method(); ConcreteProduct concreteProduct = product as ConcreteProduct; concreteProduct.DoWork(); }
void foo() { Creator creator = null; Product product = null; creator = new ConcreteCreator(); product = creator.FactoryMethod(); creator.AnOperation(); }
public static void Create() { //Il client dovra essere solo a conoscenza di una enum relativa ai prodotti //E' anche possibile implementare nuovi ConcreteCreator che implementno logiche diverse nella creazione ICreateProduct myCreator = new ConcreteCreator(ProductType.Prod2); IProduct myProduct = myCreator.CreateProduct(); myProduct.DoSomethingSpecific(); }
public void saveFile() { saveFileDialog1.Filter = "Txt file (*.txt)|*.txt|Html file (*.html)|*.html"; saveFileDialog1.FileName = openFileDialog1.FileName; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { Creator cr = new ConcreteCreator(saveFileDialog1.FileName.Split('.')[0], saveFileDialog1.FilterIndex, richTextBox1.Text); cr.Create(); } }
/// <summary> /// 工厂模式的通用实现 /// </summary> public void GeneralFactory() { Creator creator = new ConcreteCreator(); Product product = creator.CreateProduct <ConcreteProduct>(); product.Method(); product.Method2(); product = creator.CreateProduct <ConcreteProduct2>(); product.Method(); product.Method2(); }
static void Main(string[] args) { CreateSection("Singletons"); Singleton s1 = Singleton.Instance(); Singleton s2 = Singleton.Instance(); if (s1 == s2) { Console.WriteLine("Objects are the same instance."); } EndSection(); CreateSection("Prototypes"); var p1 = new ConcretePrototype1(1); Console.WriteLine("Original ID: {0}", p1.Id); var c1 = (ConcretePrototype1)p1.Clone(); Console.WriteLine("Cloned ID: {0}", c1.Id); EndSection(); CreateSection("Factory"); var creators = new Creator[2]; creators[0] = new ConcreteCreator(); creators[1] = new ConcreteCreator2(); foreach (Creator creator in creators) { Product product = creator.FactoryMethod(); Console.WriteLine("Created {0}", product.GetType().Name); } EndSection(); CreateSection("Observer pattern"); var bookSubject = new BookSubject("Gone Girl", "True Crime"); bookSubject.Attach(new ConcreteObserver("The Librarian")); bookSubject.SubjectType = "Horror"; bookSubject.SubjectType = "Romance"; Console.ReadKey(); }
public static void Main() { Creator cr = new Creator(); cr.Send(); ConcreteCreator ccr = new ConcreteCreator(); ccr.Send(); Product pr = new Product(); pr.CreateProduct(); ConcreteProduct cpr = new ConcreteProduct(); cpr.CreateProduct(); }
public async Task <EmployeeDTO> GetByIdAsync(int id) { try { var employee = await _employeeRepository.GetByIdAsync(id); var creator = new ConcreteCreator(); var employeeDTO = creator.GetEmployee(employee); return(employeeDTO); } catch (Exception ex) { throw new Exception(ex.Message); } }
public static void Main() { var creator = new ConcreteCreator(); Product p; p = creator.FactoryMethod(-1); p.Show(); p = creator.FactoryMethod(1); p.Show(); p = creator.FactoryMethod(0); p.Show(); Console.ReadKey(); }
static void Main(string[] args) { Creator creator = new ConcreteCreator(); IProduct product = creator.FactoryMethod(); product.DoWork(); var twitter = new TwitterMessanger("admin", "admin"); var twit = twitter.CreateMessage("Hi, Bro!", "admin", "John Doe"); twit.Send(); var telegram = new TelegramMessanger("admin", "admin"); var text = telegram.CreateMessage("Hi, Man!", "admin", "John Doe"); text.Send(); }
public async Task <IEnumerable <EmployeeDTO> > GetAllAsync() { try { var employees = await _employeeRepository.GetAllAsync(); var employeesDTO = new List <EmployeeDTO>(); foreach (var employee in employees) { var creator = new ConcreteCreator(); var employeeDTO = creator.GetEmployee(employee); employeesDTO.Add(employeeDTO); } return(employeesDTO); } catch (Exception ex) { throw new Exception(ex.Message); } }
static void Main(string[] args) { string srcImagePath = @"http://dev.mygemplace.com/Content/_Traders/2/jwProducts/8_Ring2_1qK1b.jpg"; string photoName = Path.GetFileNameWithoutExtension(srcImagePath); MemoryStream memory = new MemoryStream(); HttpWebRequest lxRequest = (HttpWebRequest)WebRequest.Create(srcImagePath); using (HttpWebResponse lxResponse = (HttpWebResponse)lxRequest.GetResponse()) { using (BinaryReader reader = new BinaryReader(lxResponse.GetResponseStream())) { reader.BaseStream.CopyTo(memory); //Byte[] lnByte = reader.ReadBytes(1 * 1024 * 1024 * 10); //using (FileStream lxFS = new FileStream("34891.jpg", FileMode.Create)) //{ // lxFS.Write(lnByte, 0, lnByte.Length); //} } } Bitmap photo; try { photo = new Bitmap(memory); } catch (ArgumentException e) { throw new FileNotFoundException(string.Format(" GDIThumbnail generator file[{0}] not found.", srcImagePath), e); } // Factory Method Console.WriteLine(); Console.WriteLine("[Abstract Factory] Pattern"); IWidgetFactory abstractFactory = new PMWidgetFactory(); IWidgetButton abstractButton = abstractFactory.CreateWidgetButton(); IWidgetDialog abstractDialog = abstractFactory.CreateWidgetDialog(); abstractButton.DrawButton(); abstractDialog.DrawWidget(); abstractButton.SetLocation(); abstractDialog.SetTopMost(); //------------------- // FactoryMethod/Virtual Constructor Console.WriteLine(); Console.WriteLine("[FactoryMethod/Virtual Constructor] Pattern"); Creator creator = new ConcreteCreator(); IAMethodDocument amDocument = creator.CreateDocument(); amDocument.Open(); //---------------------------------- // Builder Console.WriteLine("[Builder] Pattern"); Console.WriteLine(); Shop shop = new Shop(); IVehicleBuilder builder = new CarBuilder(); shop.Construct(builder); shop.ShowVehicle(); builder = new VeloByke(); shop.Construct(builder); shop.ShowVehicle(); //---------------------- // Facade // Provides more simple unified interface instead of few interfaces some subsystem. // Subsystem interfaces don't keep references to facade interface. Console.WriteLine(); Console.WriteLine("[Facade] Pattern"); Facade facade = new Facade(); facade.MethodA(); facade.MethodB(); //------- // Flyweight // Build a document with text Console.WriteLine(); Console.WriteLine("[Flyweight] Pattern"); string document = "AAZZBBZB"; char[] chars = document.ToCharArray(); CharacterFactory factory = new CharacterFactory(); // extrinsic state int pointSize = 10; //For each character use a flyweight object foreach (char c in chars) { pointSize++; Character character = factory.GetCharacter(c); character.Display(pointSize); } //----------- // Proxy Console.WriteLine(); Console.WriteLine("[Proxy] pattern"); IImage proxy = new ProxyImage(); proxy.GetSize(); proxy.Draw(); //-------- //Chain Responsibilities Console.WriteLine(); Console.WriteLine("[Chain of Responsibilities] pattern"); DialogChain dc1 = new DialogChain(null); ButtonChain bc1 = new ButtonChain(dc1); DialogChain dc2 = new DialogChain(bc1); ButtonChain buttonChain2 = new ButtonChain(dc2); IRequest request1 = new Request1(); ((Request1)request1).Value = "QWE_RTYU"; buttonChain2.HandleRequest(request1); Request2 rq2 = new Request2(); rq2.Value = "123456"; buttonChain2.HandleRequest(rq2); //---------------------- // Command Console.WriteLine(); Console.WriteLine("[Command] Pattern"); List <SourceCommand> srcCmd = new List <SourceCommand>(); SourceCommand scr1 = new SourceCommand(); scr1.Command = new OpenCommand(new Receiver1("Star1")); SourceCommand scr2 = new SourceCommand(); scr2.Command = new PasteCommand(new Receiver2("Paste Star 2")); srcCmd.Add(scr1); srcCmd.Add(scr2); TemplatedCommand <string> templatedCommand = new TemplatedCommand <string>(delegate(string s) { Console.WriteLine("---Delegate command is executed @@@@ {0}", s); }); TemplatedSourceCommand <string> scr3 = new TemplatedSourceCommand <string>(templatedCommand); scr3.ActionInvoke("1111"); foreach (var sourceCommand in srcCmd) { sourceCommand.InvokeCommand(); } //--------- // Interpreter string roman = "MCMXXVIII"; Context context = new Context(roman); // Build the 'parse tree' List <Expression> tree = new List <Expression>(); tree.Add(new ThousandExpression()); tree.Add(new HundredExpression()); tree.Add(new TenExpression()); tree.Add(new OneExpression()); // Interpret foreach (Expression exp in tree) { exp.Interpret(context); } Console.WriteLine("{0} = {1}", roman, context.Output); // define booleand expression // (true and x) or (y and x) Console.WriteLine("----------------------------"); BooleanExp expressing; BooleanContext boolContext = new BooleanContext(); expressing = new OrExp(new AndExp(new BooleanConstant("true"), new VariableExp("x")), new AndExp(new VariableExp("y"), new NotExp("x"))); boolContext.Assign("x", false); boolContext.Assign("y", false); Console.WriteLine("Result of boolean interpreter is [{0}]", expressing.Evaluate(boolContext)); //------------- // Iterator Console.WriteLine(); Console.WriteLine("Pattern Iterator"); ConcreteAggregate aggregate = new ConcreteAggregate(); aggregate[0] = "Object 1"; aggregate[1] = "Object 2"; aggregate[2] = "Object 3"; aggregate[3] = "Object 4"; Iterator iter = aggregate.CreateIterator(); for (object i = iter.First(); !iter.IsDone(); i = iter.Next()) { Console.WriteLine("Current object [{0}]", i); } //-------------- // Mediator Console.WriteLine(); Console.WriteLine("Pattern Mediator"); // parts could be informed about its mediator. ConcreteMediator cm = new ConcreteMediator(new Collegue1(), new Collegue2(), new Collegue3()); cm.Process1AndInform23(); cm.Process3AndInform1(); //------------ // Memento Console.WriteLine(); Console.WriteLine("Pattern Memento"); SalesProspect salesProspect = new SalesProspect(); salesProspect.Budget = 45.56; salesProspect.Name = "Super Man"; salesProspect.Phone = "45-78-96"; ProspectMemory prospectMemory = new ProspectMemory(); prospectMemory.Memento = salesProspect.SaveMemento(); salesProspect.Budget = 11.11; salesProspect.Name = "Spider Man"; salesProspect.Phone = "33-44-55"; salesProspect.RestoreMemento(prospectMemory.Memento); //-------------- // Observer (Dependents, Publish-Subscriber) Console.WriteLine(); Console.WriteLine("Pattern Observer"); Subject subject = new Subject(); ConcreteObserver1 concreteObserver1 = new ConcreteObserver1(); ConcreteObserver2 concreteObserver2 = new ConcreteObserver2(); subject.Register(concreteObserver1); subject.Register(concreteObserver2); subject.Register(concreteObserver1); subject.NotifyObservers(); subject.UnRegister(concreteObserver2); subject.UnRegister(concreteObserver2); subject.NotifyObservers(); //------------------------------------------ // State Console.WriteLine(); Console.WriteLine("Pattern State"); Account account = new Account("Jim Johnson"); // Apply financial transactions account.Deposit(500.0); account.Deposit(300.0); account.Deposit(550.0); account.PayInterest(); account.Withdraw(2000.00); account.Withdraw(1100.00); account.Deposit(50000); account.PayInterest(); //------------------------------------------ // Strategy // Client should knew all available strategies. Console.WriteLine(); Console.WriteLine("Pattern Strategy"); StrategyContext strategyContext = new StrategyContext(null); strategyContext.ContextOperationOne(); strategyContext.ContextOperationTwo(); strategyContext.Strategy = new ConcreteStrategy(); strategyContext.ContextOperationOne(); strategyContext.ContextOperationTwo(); //------------------------------------------ // Template Method Console.WriteLine(); Console.WriteLine("Template Method"); TemplateMethodClass tmc = new ConcreteTemplateMethodClass1(); tmc.TemplateMethod(); //------------------------------------------ // Visitor Console.WriteLine(); Console.WriteLine("Visitor"); List <INode> elements = new List <INode>(); elements.Add(new NodeType1() { Balance = 400, Name = "Qwerty" }); elements.Add(new NodeType1() { Balance = 333, Name = "QasxzWe" }); elements.Add(new NodeType2() { CarName = "Mersedes" }); NodeVisitor visitor = new ConcreteNodeVisitor(); foreach (var element in elements) { element.Accept(visitor); } //------------------------------------------ ThreadTest threadTest = new ThreadTest(); //threadTest.RunTask(); threadTest.TestFactory(); // Unit of Work patternt with Repository pattern Console.WriteLine(); Console.WriteLine("UOW pattern"); StudentController sc = new StudentController(); sc.DoAction(); MoneyPattern.Start(); Console.Read(); }
static void Main(string[] args) { Creator myCreator = new ConcreteCreator(); }
public void btnCsv_click(object sender, DirectEventArgs e) { IList<object> lista = new List<object>(); IList<string> cabecera = ObtenerCabeceraExcel(); CrearExcel(ref lista, e, true); CreadorArchivos creador = new ConcreteCreator(); GeneradorArchivos archivo = creador.FactoryMethod(ConcreteCreator.TipoArchivo.CSV); archivo.CargarDatos(lista, cabecera, Response); }
public void ConcreteCreatorTest() { ConcreteCreator creator = new ConcreteCreator(); Assert.IsInstanceOfType(creator.Product, typeof(ConcreteProduct)); }
public void ClickOnEvent_btn_excelold(object sender, DirectEventArgs e) { IList<object> lista = new List<object>(); IList<string> cabecera = new List<string>(); cabecera.Add("Nombres"); cabecera.Add("Ape Paterno"); cabecera.Add("Ape Materno"); cabecera.Add("Rut"); cabecera.Add("Telefono"); cabecera.Add("Celular"); cabecera.Add("Email"); CrearExcel(ref lista, e, true); CreadorArchivos creador = new ConcreteCreator(); GeneradorArchivos archivo = creador.FactoryMethod(ConcreteCreator.TipoArchivo.XLS); archivo.CargarDatos(lista, cabecera, Response); }
public static void ClientMain() { Creator creator = new ConcreteCreator(); Product product = creator.CreateProduct(); }
private static void Main(string[] args) { Creator creator = new ConcreteCreator(); var product1 = creator.FactoryMethod(); var product2 = creator.FactoryMethod(); }