Exemple #1
0
        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));
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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}");
        }
Exemple #6
0
        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);

    } 
Exemple #8
0
        static void main2()
        {
            Creator creator = new ConcreteCreator();
            Posilek produkt = creator.Create("Sniadanie");

            Console.WriteLine(produkt.getName());
        }
Exemple #9
0
        static void Main(string[] args)
        {
            Creator creator = new ConcreteCreator();
            Product product = creator.FactoryMethod();

            creator.Operation();
        }
Exemple #10
0
        public void TestCookingMethods()
        {
            ConcreteCreator cooker = new ConcreteCreator();

            var product1 = cooker.CookConcreteClass <ConcreteProduct>();
            var product2 = cooker.CookConcreteClass <ConcreteProduct>(new object[] { "Name", "Description" });
        }
Exemple #11
0
        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());
        }
Exemple #12
0
        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);
        }
Exemple #14
0
        static void Main(string[] args)
        {
            Product.Product product = null;

            var creator = new ConcreteCreator();

            product = creator.FactoryMethod();

            creator.AnOperation();
        }
Exemple #15
0
        static void Main(string[] args)
        {
            Creator creator = new ConcreteCreator();

            Product product = creator.Factory_Method();

            ConcreteProduct concreteProduct = product as ConcreteProduct;

            concreteProduct.DoWork();
        }
Exemple #16
0
    void foo()
    {
        Creator creator = null;
        Product product = null;

        creator = new ConcreteCreator();
        product = creator.FactoryMethod();

        creator.AnOperation();
    }
Exemple #17
0
            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();
            }
Exemple #18
0
 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();
     }
 }
Exemple #19
0
        /// <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();
        }
Exemple #20
0
        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();
        }
Exemple #21
0
    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();
    }
Exemple #24
0
        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);
            }
        }
Exemple #26
0
        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();
        }
Exemple #27
0
 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);
        }
Exemple #29
0
        public void ConcreteCreatorTest()
        {
            ConcreteCreator creator = new ConcreteCreator();

            Assert.IsInstanceOfType(creator.Product, typeof(ConcreteProduct));
        }
Exemple #30
0
 static void Main(string[] args)
 {
     Creator myCreator = new ConcreteCreator();
 }
    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);
      
    }
Exemple #32
0
 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();
 }