示例#1
0
        public static void Test()
        {
            //实例化造车工厂
            AbstractFactory carFactory = FactoryProducer.GetFactory("car");
            //获取摩托车实例
            var motorbike = carFactory.GetCarProduct("motorbike");

            //执行实例方法
            motorbike.Run();
            //实例化电子厂
            AbstractFactory electronicFactory = FactoryProducer.GetFactory("electronic");
            //获取tv实例
            var tv = electronicFactory.GetElectronicProduct("tv");

            tv.Play();
        }
示例#2
0
        public AbstractFactoryPattern() : base("Abstract")
        {
            var simpleShapeFactory = FactoryProducer.getFactory(false);

            var simpleRect = simpleShapeFactory.getShape("RECTANGLE");

            simpleRect.draw();

            var simpleSquare = simpleShapeFactory.getShape("SQUARE");

            simpleSquare.draw();

            var roundedShapeFactory = FactoryProducer.getFactory(true);

            var roundedRect = roundedShapeFactory.getShape("RECTANGLE");

            roundedRect.draw();

            var roundedSquare = roundedShapeFactory.getShape("SQUARE");

            roundedSquare.draw();
        }