static void Main(string[] args)
        {
            AbstractFactory shapeFactory = FactoryProducer.GetFactory("shape");
            IShape          shapeCirle   = shapeFactory.GetShape("circle");

            shapeCirle.Draw();
            IShape shapeRectangle = shapeFactory.GetShape("rectangle");

            shapeRectangle.Draw();
            IShape shapeSquare = shapeFactory.GetShape("square");

            shapeSquare.Draw();

            AbstractFactory colorFactory = FactoryProducer.GetFactory("color");
            IColor          colorRed     = colorFactory.GetColor("red");

            colorRed.Fill();
            IColor colorGreen = colorFactory.GetColor("green");

            colorGreen.Fill();
            IColor colorBlue = colorFactory.GetColor("blue");

            colorBlue.Fill();

            Console.Read();
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            AbstractFactory carFactory = FactoryProducer.GetFactory("Car");

            ICar car1 = carFactory.GetCar("Mazda");

            car1.GetCar();

            ICar car2 = carFactory.GetCar("Bmw");

            car2.GetCar();

            ICar car3 = carFactory.GetCar("Ford");

            car1.GetCar();

            AbstractFactory suvFactory = FactoryProducer.GetFactory("Suv");

            ISuv suv1 = suvFactory.GetSuv("Jeep");

            suv1.GetSuv();

            ISuv suv2 = suvFactory.GetSuv("Isuzu");

            suv2.GetSuv();

            ISuv suv3 = suvFactory.GetSuv("Suzuki");

            suv3.GetSuv();


            Console.ReadLine();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            Console.WriteLine("Welcome to the jungle!  What do you want to eat? (fast food/steak house/french/italian");
            string          input        = Console.ReadLine();
            AbstractFactory shapeFactory = FactoryProducer.GetFactory(input);

            shapeFactory.DrawMenu().getMenu();
        }
Beispiel #4
0
        static void Main(string[] args)
        {
            var shapeFactory = FactoryProducer.getFactory("shape");
            var circle       = shapeFactory.getShape("circle");

            circle.draw();

            var colorFactory = FactoryProducer.getFactory("color");
            var red          = colorFactory.getColor("red");

            red.fill();
        }
        public void SpawnAnimals()
        {
            abstractFactory = FactoryProducer.GetFactory(FactoryType.Animal);

            IAnimal cat;
            IAnimal dog;

            cat = abstractFactory.GetAnimal(AnimalType.Cat);
            dog = abstractFactory.GetAnimal(AnimalType.Dog);

            cat.Voice();
            dog.Voice();
        }
        public void SpawnHumans()
        {
            abstractFactory = FactoryProducer.GetFactory(FactoryType.Human);

            IHuman beggar;
            IHuman farmer;
            IHuman trader;

            beggar = abstractFactory.GetHuman(HumanType.Beggar);
            farmer = abstractFactory.GetHuman(HumanType.Farmer);
            trader = abstractFactory.GetHuman(HumanType.Trader);

            beggar.Speak();
            farmer.Speak();
            trader.Speak();
        }
        public static void Main(String[] args)
        {
            //get shape factory
            AbstractFactory shapeFactory = FactoryProducer.getFactory("SHAPE");

            //get an object of Shape Circle
            IShape shape1 = shapeFactory.getShape("CIRCLE");

            //call draw method of Shape Circle
            shape1.draw();

            //get an object of Shape Rectangle
            IShape shape2 = shapeFactory.getShape("RECTANGLE");

            //call draw method of Shape Rectangle
            shape2.draw();

            //get an object of Shape Square
            IShape shape3 = shapeFactory.getShape("SQUARE");

            //call draw method of Shape Square
            shape3.draw();

            //get color factory
            AbstractFactory colorFactory = FactoryProducer.getFactory("COLOR");

            //get an object of Color Red
            IColor color1 = colorFactory.getColor("RED");

            //call fill method of Red
            color1.fill();

            //get an object of Color Green
            IColor color2 = colorFactory.getColor("Green");

            //call fill method of Green
            color2.fill();

            //get an object of Color Blue
            IColor color3 = colorFactory.getColor("BLUE");

            //call fill method of Color Blue
            color3.fill();

            Console.ReadKey();
        }
Beispiel #8
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();
        }
Beispiel #9
0
        static void Main(string[] args)
        {
            //获取形状工厂
            AbstractFactory shapeFactory = FactoryProducer.getFactory("Shape");

            //获取形状为 Circle 的对象
            Shape shape1 = shapeFactory.getShape("AbstractFactoryPattern.Circle");

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

            //获取形状为 Rectangle 的对象
            Shape shape2 = shapeFactory.getShape("AbstractFactoryPattern.Rectangle");

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

            //获取形状为 Square 的对象
            Shape shape3 = shapeFactory.getShape("AbstractFactoryPattern.Square");

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

            //获取颜色工厂
            AbstractFactory colorFactory = FactoryProducer.getFactory("Color");

            //获取颜色为 Red 的对象
            Color color1 = colorFactory.getColor("AbstractFactoryPattern.Red");

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

            //获取颜色为 Green 的对象
            Color color2 = colorFactory.getColor("AbstractFactoryPattern.Green");

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

            //获取颜色为 Blue 的对象
            Color color3 = colorFactory.getColor("AbstractFactoryPattern.Blue");

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

            Console.ReadKey();
        }
Beispiel #10
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();
        }
Beispiel #11
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();
        }
        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();
        }
Beispiel #13
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();
        }
Beispiel #14
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();
        }
Beispiel #15
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();
        }