예제 #1
0
        static void Main(string[] args)
        {
            Developer dev1 = new CPPDeveloper();
            Developer dev2 = new JavaDeveloper();

            TeamComposite team1 = new TeamComposite("FaceBook mobile team");

            team1.AddDeveloper(dev1);
            team1.AddDeveloper(dev2);
            team1.WriteCode();

            TeamComposite team2 = new TeamComposite("FaceBook desktop team");

            team2.AddDeveloper(dev1);

            TeamComposite company = new TeamComposite("FaceBook");

            company.AddDeveloper(team1);
            company.AddDeveloper(team2);

            company.WriteCode();


            Console.ReadKey();
        }
예제 #2
0
파일: Program.cs 프로젝트: alb-byte/pattern
        static void Main(string[] args)
        {
            //----------------------Factory-----------------------------
            Developer developer1 = new JavaDeveloper("JAVADeveloper");
            Developer developer2 = new CDeveloper("CDeveloper");

            developer1.GetCode();
            developer2.GetCode();
            //---------------AbstractFactory-----------------------------
            Dictator dictator1 = new Dictator(new LukaFactory());
            Dictator dictator2 = new Dictator(new KimChenInFactory());

            dictator1.Speak();
            dictator2.Speak();
            //---------------Singleton----------------------------------
            Albert albert = Albert.getInstance(19);

            Console.WriteLine(albert.Age);
            Albert albert2 = Albert.getInstance(150);

            Console.WriteLine(albert2.Age);
            //---------------Prototype----------------------------------
            Person person = new Person("gray", new Consciousness(120));
            Person clone  = person.Clone();

            clone.Consciousness.IQ = 100;
            Console.WriteLine($"person color: {person.EyeColor}\tclone color: {clone.EyeColor}\n" +
                              $"person IQ: {person.Consciousness.IQ}\tclone IQ: {clone.Consciousness.IQ}");
        }
예제 #3
0
        static void Main(string[] args)
        {
            Developer dev = new NetDeveloper("Manolii");

            dev.SomeOperation();


            Developer dev2     = new JavaDeveloper("Mykola");
            IWebSite  javaSite = dev2.CreateWebSite();

            Console.ReadLine();
        }
        public void ApplicantMandatoryTestJavaDeveloper()
        {
            Console.WriteLine(string.Format("{0} Applicant Mandatory Test", JavaDeveloper.Name));
            PropertiesCollection.OpenBrowser(JavaDeveloper.Url);
            JavaDeveloper page = new JavaDeveloper();
            if (page.ApplicantMandatoryTest())
            {
            };

            foreach (TestResultInPage result in page.TestResultInPages) Console.WriteLine(result.Report());
            PropertiesCollection.driver.Quit();
        }
예제 #5
0
        static void Main(string[] args)
        {
            // Реализация паттерна Singleton
            Phone phone = new Phone();

            phone.Launch("Android 12.0");
            Console.WriteLine(phone.OperatingSystem.Name);

            phone.OperatingSystem = OperatingSystem.getOperatingSystem("IOS 9.0");
            Console.WriteLine(phone.OperatingSystem.Name);

            Console.ReadKey();

            // Реализация паттерна Factory Method
            Developer   developer         = new CSharpDeveloper("C# разработчик");
            Application applicationCSharp = developer.Create();

            developer = new JavaDeveloper("Java разработчик");
            Application applicationJava = developer.Create();

            developer = new PythonDeveloper("Python разработчик");
            Application applicationPython = developer.Create();

            Console.ReadKey();

            // Реализация паттерна Strategy
            Controller controller = new Controller(new AdoProductRepository());

            controller.Index();

            controller._repository = new EFProductRepository();
            controller.Index();

            controller._repository = new DataClientProductRepository();
            controller.Index();

            Console.ReadKey();

            // Реализация паттерна Template Method
            var meatPie   = new MeatPie();
            var cherryPie = new CherryPie();

            Console.WriteLine(meatPie);
            meatPie.Cook();

            Console.WriteLine(cherryPie);
            cherryPie.Cook();

            Console.ReadLine();

            // Реализация паттерна Chain of responsibility
            Receiver receiver = new Receiver(false, true, true);

            PaymentHandler bankPaymentHandler   = new BankPaymentHandler();
            PaymentHandler moneyPaymentHadler   = new MoneyPaymentHandler();
            PaymentHandler paypalPaymentHandler = new PayPalPaymentHandler();

            bankPaymentHandler.Successor   = paypalPaymentHandler;
            paypalPaymentHandler.Successor = moneyPaymentHadler;

            bankPaymentHandler.Handle(receiver);

            Console.ReadLine();
        }