static void Main(string[] args)
        {
            // Simple Factory
            IFanFactorySimple simpleFactory = new SimpleFanFactory();
            // Creation of a Fan using Simple Factory
            IFan fan = simpleFactory.CreateFan(FanType.TableFan);

            // Use created object
            fan.SwitchOn();

            // Methods Factory
            IFanFactoryMethod fanFactory = new PropellerFanFactory();

            // Creation of a Fan using Factory Method
            IFan fanMethod = fanFactory.CreateFan();

            // Use created object
            fanMethod.SwitchOn();

            // Abstract Methods Factory
            IElectricalFactory electricalFactory =
                new IndianElectricalFactory();
            //IElectricalFactory electricalFactory = new USElectricalFactory();
            IFan fanAbstract = electricalFactory.GetFan();

            fanAbstract.SwitchOn();

            Console.ReadKey();
        }
Esempio n. 2
0
        public static void Main()
        {
            IFanFactory simpleFactory = new FanFactory();
            IFan        fan           = simpleFactory.CreateFan(FanType.UltraFan);

            fan.SwitchOn();
        }
Esempio n. 3
0
        public static void Main()
        {
            IFanFactory fanFactory = new FutureFanFactory();

            IFan fan = fanFactory.CreateFan();

            fan.SwitchOn();
        }
Esempio n. 4
0
        //https://www.codeproject.com/Articles/1131770/Factory-Patterns-Simple-Factory-Pattern
        static void Main()
        {
            IFanFactory simpleFanFactory = new FanFactory();
            IFan        fan = simpleFanFactory.CreateFan(FanType.TableFan);

            fan.SwitchOn();
            fan.SwitchOff();
        }
Esempio n. 5
0
            public void DoWork()
            {
                IFanFactory simpleFactory = new FanFactory();
                // Creation of a Fan using Simple Factory
                IFan fan = simpleFactory.CreateFan(FanType.TableFan);

                // Use created object
                fan.SwitchOn();
            }
        public static void Main()
        {
            //IElectricalFactory bulgarianFactory = new BulgarianFactory();
            IElectricalFactory usFactory = new USFactory();

            IFan usFan = usFactory.GetFan();

            usFan.SwitchOn();
        }
Esempio n. 7
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("--------------------------**Factory Method Pattern**--------------------------------");

                var coolingObj = new AirConditioner().ExecuteCreation(TempEnum.Cooling, 22);
                coolingObj.Operate();
                var warmObj = new AirConditioner().ExecuteCreation(TempEnum.Warming, 45);
                warmObj.Operate();

                Console.WriteLine("--------------------------------");
                //factory method
                var coolingObj1 = AirConditioner.InitializeFactories().ExecuteCreation(TempEnum.Cooling, 10);
                coolingObj1.Operate();
                var warmingObj1 = AirConditioner.InitializeFactories().ExecuteCreation(TempEnum.Warming, 50);
                warmingObj1.Operate();

                Console.WriteLine("------------------------------------------------------------------------");

                Console.WriteLine("---------------------------**Simple Factory Pattern**-------------------------------");

                IFanFactory fanFactory = new FanFactory();
                IFan        tableFan   = fanFactory.CreateFan(FanType.TableFan);
                tableFan.SwitchOn();
                tableFan.SwitchOff();
                IFan ceilingFan = fanFactory.CreateFan(FanType.CeilingFan);
                ceilingFan.SwitchOn();
                ceilingFan.SwitchOff();
                Console.WriteLine("------------------------------------------------------------------------");

                Console.WriteLine("---------------------------**Abstract Factory Pattern**-------------------------------");

                IMobilePhone_AbstarctFactory mobilePhone = new Nokia_ConcreteFactory();
                MobileClient mc = new MobileClient(mobilePhone);

                Console.WriteLine("**NOKIA**");
                Console.WriteLine(mc.GetNormalPhoneDetails());
                Console.WriteLine(mc.GetSmartPhoneDetails());

                IMobilePhone_AbstarctFactory mobilePhone1 = new Samsung_ConcreteFactory();
                MobileClient mc1 = new MobileClient(mobilePhone);

                Console.WriteLine("**Samsung**");
                Console.WriteLine(mc1.GetNormalPhoneDetails());
                Console.WriteLine(mc1.GetSmartPhoneDetails());
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                Console.ReadLine();
            }
        }
Esempio n. 8
0
        //The client code is as follows:
        static void Main(string[] args)
        {
            IFanFactory fanFactory = new PropellerFanFactory();

            // Creation of a Fan using Factory Method Pattern
            IFan fan = fanFactory.CreateFan();

            // Use created object
            fan.SwitchOn();

            Console.ReadLine();
        }
Esempio n. 9
0
        static void Main(string[] args)
        {
            FanFactory fanFactory = new FanFactory();
            IFan       ceilingFan = fanFactory.CreateFan(FanType.CeilingFan);
            IFan       tableFan   = fanFactory.CreateFan(FanType.TableFan);

            ceilingFan.SwitchOn();
            tableFan.SwitchOff();

            Console.WriteLine(ceilingFan.GetState());
            Console.WriteLine(tableFan.GetState());
        }
Esempio n. 10
0
        //https://www.codeproject.com/Articles/1135918/Factory-Patterns-Factory-Method-Pattern

        static void Main()
        {
            IFanFactory tableFanFactory = new TableFanFactory();
            IFan        tableFan        = tableFanFactory.CreateFan();

            tableFan.SwitchOn();
            tableFan.SwitchOff();

            IFanFactory ceilingFanFactory = new CeilingFanFactory();;
            IFan        ceilingFan        = ceilingFanFactory.CreateFan();

            ceilingFan.SwitchOn();
            ceilingFan.SwitchOff();

            IFanFactory exhaustFanFactory = new ExhaustFanFactory();;
            IFan        exhaustFan        = exhaustFanFactory.CreateFan();

            exhaustFan.SwitchOn();
            exhaustFan.SwitchOff();
        }
Esempio n. 11
0
        static void Main()
        {
            USElecticalFactory uSElecticalFactory = new USElecticalFactory();
            IFan fan = uSElecticalFactory.GetFan();

            fan.SwitchOn();
            fan.SwitchOff();
            ITubelight tubelight = uSElecticalFactory.GetTubelight();

            tubelight.SwitchOn();
            tubelight.SwitchOff();

            IndianElecticalFactory indianElecticalFactory = new IndianElecticalFactory();
            IFan fan2 = indianElecticalFactory.GetFan();

            fan2.SwitchOn();
            fan2.SwitchOff();
            ITubelight tubelight2 = indianElecticalFactory.GetTubelight();

            tubelight2.SwitchOn();
            tubelight2.SwitchOff();
        }