示例#1
0
        public void FactoryTest()
        {
            {
                // 开始做西红柿炒蛋
                Creator factory            = new ShreddedPorkWithPotatoesFactory();
                var     tomatoScrambleEggs = factory.CreateFoodFactory();
                tomatoScrambleEggs.Print();
                factory = new TomatoScrambledEggsFactory();

                //开始做土豆肉丝
                var shreddedPorkWithPotatoes = factory.CreateFoodFactory();
                shreddedPorkWithPotatoes.Print();
            }

            {
                var factory   = new StoreFactory();
                var commodity = factory.GetCommodity(1);
                commodity.SendCommodity("1", "2");
                commodity = factory.GetCommodity(2);
                commodity.SendCommodity("1", "2");
            }
            {
                var a = new AFactory().CreateProduct();
                a.Show();
                var b = new BFactory().CreateProduct();
                b.Show();
            }
        }
示例#2
0
        public void CreateTest()
        {
            Factory factory = new BFactory();

            factory.Create();
            Assert.Equal("ProductB", factory.Product.GetType().Name);
            Assert.Equal("AirConditionB", factory.AirCondition.GetType().Name);
            Assert.Equal("CameraB", factory.Camera.GetType().Name);
        }
        static void AbstractFactory()
        {
            IFruitFactory fac      = new AFactory();
            Fruit         a_Apple  = fac.CreateApple("a工厂");
            Fruit         a_Orange = fac.CreateOrange("a工厂");

            a_Apple.PrintfName();
            a_Orange.PrintfName();

            IFruitFactory b_fac    = new BFactory();
            Fruit         b_Apple  = b_fac.CreateApple("b工厂");
            Fruit         b_Orange = b_fac.CreateOrange("b工厂");

            b_Apple.PrintfName();
            b_Orange.PrintfName();
        }
示例#4
0
        public IBFactory CreateBFactory()
        {
            IBFactory factory = null;

            try
            {
                factory = new BFactory();
            }
            catch (Exception exception)
            {
                this.Log.Error(
                    exception.Message,
                    exception);
            }

            return(factory);
        }