Beispiel #1
0
 static void Main(string[] args)
 {
     MyFactoryAbstract ipfa = new MyFactory();
     var factory            = ipfa.CreateFactory("Instrument");
     var instrumentProvider = factory.GetProvider("Violin");
     var violin             = instrumentProvider.GetAll();
 }
        static void Main(string[] args)
        {
            IMyFactory myFactory =
                new MyFactory();

            TestFactory(myFactory);

            Console.ReadKey();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            //获取形状工厂
            AbstractFactory shapeFactory = MyFactory.CreateFactory("SHAPE");

            //获取形状为 Circle 的对象,并调用 Circle 的 draw 方法
            IShape shape1 = shapeFactory.GetShape("CIRCLE");

            shape1.Draw();

            //获取形状为 Rectangle 的对象,并调用 Rectangle 的 draw 方法
            IShape shape2 = shapeFactory.GetShape("RECTANGLE");

            shape2.Draw();

            //获取形状为 Square 的对象,并调用 Square 的 draw 方法
            IShape shape3 = shapeFactory.GetShape("SQUARE");

            shape3.Draw();



            //获取颜色工厂
            AbstractFactory colorFactory = MyFactory.CreateFactory("COLOR");

            //获取颜色为 Red 的对象,并调用 Red 的 fill 方法
            IColor color1 = colorFactory.GetColor("RED");

            color1.Fill();

            //获取颜色为 Green 的对象,并调用 Green 的 fill 方法
            IColor color2 = colorFactory.GetColor("Green");

            color2.Fill();

            //获取颜色为 Blue 的对象,并调用 Blue 的 fill 方法
            IColor color3 = colorFactory.GetColor("BLUE");

            color3.Fill();

            Console.ReadLine();
        }