Пример #1
0
        /// <summary>
        /// Método Principal Main para Console
        /// </summary>
        private static void Main()
        {
            Console.WriteLine("Pattern Observer");
            ObserverPattern.Observer01();
            Console.WriteLine("\n\n-----------------");

            Console.WriteLine("Pattern Singleton");
            SingletonPattern.Singleton01();
            Console.WriteLine("\n\n-----------------");

            Console.WriteLine("Pattern Prototype");
            PrototypePattern.CreateCars();
            Console.WriteLine("\n\n-----------------");

            Console.WriteLine("Build Design Pattern");
            BuilderDesignPattern.BuilderDesign01();
            Console.WriteLine("\n\n-----------------");

            Console.WriteLine("Factory Pattern");
            FactoryPattern.FactoryPattern01();
            Console.WriteLine("\n\n-----------------");

            Console.WriteLine("Abstract Factory Pattern");
            AbstractFactoryPattern.AbstractFactory01();
            Console.WriteLine("\n\n-----------------");

            Console.ReadKey();
        }
Пример #2
0
        static void Main(string[] args)
        {
            //Singleton Pattern
            Console.WriteLine("**************************** Singleton Pattern *****************************");
            SingletonPattern ins = SingletonPattern.GetInstance();

            Console.WriteLine("1st Instance Id : " + ins.GetHashCode());
            SingletonPattern ins1 = SingletonPattern.GetInstance();

            Console.WriteLine("2st Instance Id : " + ins1.GetHashCode());
            Console.WriteLine("Both the Instance call has the same hashCode implies it is single/same instance");

            Console.WriteLine("**************************** Strategy Pattern *****************************");
            XmlFileReader xml = new XmlFileReader();

            xml.readFile();
            xml.writeFile();
            xml.EnableComment(new XmlComment());
            xml.writeFile();

            Console.WriteLine("**************************** Adapter Pattern *****************************");
            IPlane Helicopter = new HelicopterAdapter(new Helicopter());

            Helicopter.wheels();
            Helicopter.Wings();

            Console.WriteLine("**************************** Factory Pattern *****************************");
            Animal _tiger = AnimalFactory.GetAnimalInstance("Tiger");

            _tiger.Name();
            _tiger.FoodType();


            Console.ReadKey();
        }
        public static SingletonPattern GetInstance()
        {
            if (instance == null)
            {
                instance = new DesignPatterns.SingletonPattern();
            }

            return(instance);
        }
Пример #4
0
        static void Main(string[] args)
        {
            Console.WriteLine("Starting Design Patterns Tester");
            PrintSpase();

            #region Singleton
            var singletonCollector = new List <SingletonPattern>
            {
                SingletonPattern.GetSingleton(),
                SingletonPattern.GetSingleton()
            };
            for (int i = 0; i < singletonCollector.Count; i++)
            {
                Console.WriteLine($"Singleton {i} " + singletonCollector[i].GetInstance());
            }
            PrintSpase();
            #endregion

            #region Factory
            var vehicleCollector = new List <Vehicle>()
            {
                VehicleFactory.GetVehicleByPrice(4000),
                VehicleFactory.GetVehicleByPrice(40000),
                VehicleFactory.GetVehicleByPrice(4000000)
            };

            for (int i = 0; i < vehicleCollector.Count; i++)
            {
                Console.WriteLine($"Factory {i} created type of {vehicleCollector[i].GetType()} {vehicleCollector[i].VehicleName()}  Costs: {vehicleCollector[i].VehiclePrice()} ");
            }
            PrintSpase();
            #endregion

            #region Abstract Factory
            var mobiles = new List <Device>()
            {
                AbstractFactory.AbstractFactory.GetMobileDevice(Model.Samsung, Type.Smart),
                AbstractFactory.AbstractFactory.GetMobileDevice(Model.Lg, Type.Tablet),
                AbstractFactory.AbstractFactory.GetMobileDevice(Model.Nokia, Type.Simple)
            };
            for (int i = 0; i < mobiles.Count; i++)
            {
                Console.WriteLine($"Abstact Factory: {i} Brand {mobiles[i].Brand()} Model: {mobiles[i].Model()} Screen: {mobiles[i].ScreenSize()} Battery: {mobiles[i].BatteryLife()} YoR: {mobiles[i].YearOfRelease()}");
            }
            PrintSpase();
            #endregion

            #region Prototype

            #endregion

            PrintSpase();
            Console.WriteLine("Closing Design Patters Tester");
            Console.ReadLine();
        }
Пример #5
0
        public static SingletonPattern CreateSingletonObject()
        {
            if (singletonObject == null)
            {
                lock (lockObject)
                {
                    if (singletonObject == null)
                    {
                        singletonObject = new SingletonPattern();
                    }
                }
            }

            return(singletonObject);
        }
        public static void Main(string[] args)
        {
            Pattern builderPattern = new BuilderPattern();

            builderPattern.Run();

            Pattern decoratorPattern = new DecoratorPattern();

            decoratorPattern.Run();

            Pattern singletonPattern = new SingletonPattern();

            singletonPattern.Run();

            Pattern commandPattern = new CommandPattern();

            commandPattern.Run();
        }
        /// <summary>
        /// Defines the entry point of the application.
        /// </summary>
        /// <param name="args">The arguments.</param>
        /// <exception cref="Exception">system exception </exception>
        public static void Main(string[] args)
        {
            try
            {
                ////this variable is used for do condtion
                string doCondition = null;
                ////this variable is used for switch case
                int switchCases = 0;
                do
                {
                    Console.WriteLine("enter 1 for singleton pattern");
                    Console.WriteLine("enter 2 for factory design patten");
                    Console.WriteLine("enter 3 for adaptor design pattern");
                    Console.WriteLine("enter 4 for proxy design pattern");
                    Console.WriteLine("enter 5 for facade design pattern");
                    Console.WriteLine("enter 6 for mediator design pattern");
                    Console.WriteLine("enter 7 for observer 1 designer pattern");
                    Console.WriteLine("enter 8 for observer 2 designer pattern");
                    Console.WriteLine("enter 9 for visitor design pattern");
                    Console.WriteLine("enter 10 for adaptor2 design patten");
                    Console.WriteLine("enter 11 for Reflection");
                    Console.WriteLine("enter 12 for Annotation program");
                    try
                    {
                        switchCases = Convert.ToInt32(Console.ReadLine());
                    }
                    catch (Exception)
                    {
                        Console.WriteLine("enter valid number only");
                    }

                    switch (switchCases)
                    {
                    case 1:
                        SingletonPattern reference1 = SingletonPattern.GetInstance;
                        reference1.Message("hi how are you");
                        SingletonPattern reference2 = SingletonPattern.GetInstance;
                        reference2.Message("manju");
                        Console.ReadLine();
                        break;

                    case 2:
                        EmployeeFactory employeeFactory   = new ConcreteEmployeeFactory();
                        IFactory        permanentEmployee = employeeFactory.Factory("PermanentEmployee");
                        permanentEmployee.Details();
                        IFactory temporaryEmployee = employeeFactory.Factory("TemporaryEmployee");
                        temporaryEmployee.Details();
                        Console.ReadLine();
                        break;

                    case 3:
                        ITarget itarget = new EmployeeAdapator();
                        ThirdPartyBillingSystem client = new ThirdPartyBillingSystem(itarget);
                        client.ShowEmployeeList();
                        break;

                    case 4:
                        ProxyClient proxyClient = new ProxyClient();
                        Console.WriteLine("Data from Proxy Client = {0}", proxyClient.GetData());
                        break;

                    case 5:
                        HomeFacade homeFacade = new HomeFacade();
                        homeFacade.LeaveHome();
                        homeFacade.ArriveHome();
                        break;

                    case 6:
                        MediatorMainClass mediator = new MediatorMainClass();
                        mediator.Mediator();
                        break;

                    case 7:
                        ObserverClass observerClass = new ObserverClass();
                        observerClass.Observer();
                        break;

                    case 8:
                        ObserverRealTime realTime = new ObserverRealTime();
                        realTime.ObserverRealTimeExample();
                        break;

                    case 9:
                        VisitorRunner visitorRunner = new VisitorRunner();
                        visitorRunner.Runner();
                        break;

                    case 10:
                        VendorAdapter vendorAdapter = new VendorAdapter();
                        vendorAdapter.SellingItems();
                        break;

                    case 11:
                        ExampleOfReflection exampleOfReflection = new ExampleOfReflection();
                        exampleOfReflection.ReflectionImplementation();
                        break;

                    case 12:
                        AnnotationPrograms annotationPrograms = new AnnotationPrograms();
                        annotationPrograms.ValidationOfAnnotation();
                        break;
                    }

                    Console.WriteLine("enter y to go to main method or enter any key to stop execution");
                    doCondition = Console.ReadLine();
                }while (doCondition.Equals("y"));
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }