Exemplo n.º 1
0
        /// <summary>
        /// 工厂模式的通用实现
        /// </summary>
        public void GeneralFactory()
        {
            Creator creator = new ConcreteCreator();
            Product product = creator.CreateProduct <ConcreteProduct>();

            product.Method();
            product.Method2();
            product = creator.CreateProduct <ConcreteProduct2>();
            product.Method();
            product.Method2();
        }
Exemplo n.º 2
0
        protected override void Run()
        {
            Creator creator = new ConcreteCreator();
            Product prouct  = creator.CreateProduct();

            prouct.Show();
        }
Exemplo n.º 3
0
        public void I_Can_Create_MyProduct_By_ConcreteCreator()
        {
            var creator = new ConcreteCreator();
            var product = creator.CreateProduct();

            Assert.IsTrue(product.GetType() == typeof(MyProduct));
        }
Exemplo n.º 4
0
            public static void Create()
            {
                //Il client dovra essere solo a conoscenza di una enum relativa ai prodotti
                //E' anche possibile implementare nuovi ConcreteCreator che implementno logiche diverse nella creazione
                ICreateProduct myCreator = new ConcreteCreator(ProductType.Prod2);

                IProduct myProduct = myCreator.CreateProduct();

                myProduct.DoSomethingSpecific();
            }
Exemplo n.º 5
0
 public static void ClientMain()
 {
     Creator creator = new ConcreteCreator();
     Product product = creator.CreateProduct();
 }