Esempio n. 1
0
        static void Main(string[] args)
        {
            //获取形状工厂
            var shapeFactory = FactoryProducer.GetFactory("SHAPE");

            //获取形状为 Circle 的对象
            var shape1 = shapeFactory.GetShape("CIRCLE");

            //调用 Circle 的 draw 方法
            shape1.Draw();

            //获取形状为 Rectangle 的对象
            var shape2 = shapeFactory.GetShape("RECTANGLE");

            //调用 Rectangle 的 draw 方法
            shape2.Draw();

            //获取形状为 Square 的对象
            var shape3 = shapeFactory.GetShape("SQUARE");

            //调用 Square 的 draw 方法
            shape3.Draw();

            //获取颜色工厂
            var colorFactory = FactoryProducer.GetFactory("COLOR");

            //获取颜色为 Red 的对象
            var color1 = colorFactory.GetColor("RED");

            //调用 Red 的 fill 方法
            color1.Fill();

            //获取颜色为 Green 的对象
            var color2 = colorFactory.GetColor("GREEN");

            //调用 Green 的 fill 方法
            color2.Fill();

            //获取颜色为 Blue 的对象
            var color3 = colorFactory.GetColor("BLUE");

            //调用 Blue 的 fill 方法
            color3.Fill();

            Console.ReadKey();
        }
Esempio n. 2
0
        /// <summary>
        /// This is main method.
        /// </summary>
        public static void Main()
        {
            AbastractFactory factory = FactoryProducer.GetFactory(true);
            IOperatingSystem os1     = factory.GetOs("android");

            os1.Spec();
            IOperatingSystem os2 = factory.GetOs("ios");

            os2.Spec();
            AbastractFactory factory1 = FactoryProducer.GetFactory(false);
            IOperatingSystem os3      = factory1.GetOs("android");

            os3.Spec();
            IOperatingSystem os4 = factory1.GetOs("ios");

            os4.Spec();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            AbstractFactory shapeFactory = FactoryProducer.GetFactory(false);
            IShape          shape1       = shapeFactory.GetShape("Square");

            shape1.Draw();
            IShape shape2 = shapeFactory.GetShape("Rectangle");

            shape2.Draw();

            AbstractFactory roundShapeFactory = FactoryProducer.GetFactory(true);
            IShape          shape3            = roundShapeFactory.GetShape("Square");

            shape3.Draw();
            IShape shape4 = roundShapeFactory.GetShape("Rectangle");

            shape4.Draw();
        }
Esempio n. 4
0
        static void Main(string[] args)
        {
            var animalFactory = FactoryProducer.GetFactory("animal");

            var parrot = animalFactory.GetAnimal(Animal.Parrot);

            Console.WriteLine(parrot.Say());
            var tiger = animalFactory.GetAnimal(Animal.Tiger);

            Console.WriteLine(tiger.Say());

            var colorFactory = FactoryProducer.GetFactory("color");
            var blue         = colorFactory.GetColor(Color.Blue);

            Console.WriteLine(blue.SayColor());
            var red = colorFactory.GetColor(Color.Red);

            Console.WriteLine(red.SayColor());

            Console.ReadKey();
        }
Esempio n. 5
0
        /// <summary>
        /// The main.
        /// </summary>
        /// <param name="args">
        /// The args.
        /// </param>
        public static void Main(string[] args)
        {
            // get normal shape factory
            var shapeFactory = FactoryProducer.GetFactory(false);

            // get an object of shape rectangle and call its draw method
            var rectangleShape = shapeFactory.GetShape("rectangle");

            rectangleShape.Draw();

            // get an object of shape square and call its draw method
            shapeFactory.GetShape("Square").Draw();

            // get rounded shape factory
            var roundedShapeFactory = FactoryProducer.GetFactory(true);

            // get an object of rounded shape rectangle and call its draw method
            roundedShapeFactory.GetShape("Rectangle").Draw();

            // get an object of rounded shape square and call its draw method
            roundedShapeFactory.GetShape("Square").Draw();

            Console.ReadKey();
        }
Esempio n. 6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Abstarct Factory Pattern");

            var shapeFactory = FactoryProducer.GetFactory(FactoryType.Shape);
            var circle       = shapeFactory.GetInstance(ShapeType.Circle);
            var square       = shapeFactory.GetInstance(ShapeType.Square);
            var triangle     = shapeFactory.GetInstance(ShapeType.Triangle);

            circle.draw();
            square.draw();
            triangle.draw();

            var colorFactory = FactoryProducer.GetFactory(FactoryType.Color);
            var red          = colorFactory.GetInstance(ColorType.Red);
            var blue         = colorFactory.GetInstance(ColorType.Blue);
            var green        = colorFactory.GetInstance(ColorType.Green);

            red.draw();
            blue.draw();
            green.draw();

            Console.ReadLine();
        }
Esempio n. 7
0
        public static void Main1(string[] args)
        {
            AbstractFactory appleFactory  = FactoryProducer.GetFactory("Apple");
            AbstractFactory huaweiFactory = FactoryProducer.GetFactory("Huawei");
            //AbstractFactory xiaomiFactory = FactoryProducer.GetFactory("Xiaomi");

            Phone applePhone = appleFactory.GetPhone();

            applePhone.Call();
            Computer appleComputer = appleFactory.GetComputer();

            appleComputer.Work();
            Pad applePad = appleFactory.GetPad();

            applePad.Play();


            Phone huaweiPhone = huaweiFactory.GetPhone();

            huaweiPhone.Call();
            Computer huaweiComputer = huaweiFactory.GetComputer();

            huaweiComputer.Work();
            Pad huaweiPad = huaweiFactory.GetPad();

            huaweiPad.Play();

            //Console.WriteLine();

            //Phone xiaomiPhone = xiaomiFactory.GetPhone();
            //xiaomiPhone.Call();
            //Computer xiaomiComputer = xiaomiFactory.GetComputer();
            //xiaomiComputer.Work();
            //Pad xiaomiPad = xiaomiFactory.GetPad();
            //xiaomiPad.Play();
        }