Exemple #1
0
        static void Main(string[] args)
        {
            IProductFactory pizzaFactory  = new PizzaFactory();
            IProductFactory toycarFactory = new ToyCarFactory();
            WrapFactory     wrapFactory   = new WrapFactory();

            Box box1 = wrapFactory.WrapProduct(pizzaFactory);
            Box box2 = wrapFactory.WrapProduct(toycarFactory);

            Console.WriteLine(box1.Product.Name);
            Console.WriteLine(box2.Product.Name);
        }
        static void Main(string[] args)
        {
            PizzaFactory  pizzaFactory  = new PizzaFactory();
            ToyCarFactory toycarFactory = new ToyCarFactory();
            WrapFactory   wrapFactory   = new WrapFactory();

            // 间接调用
            Box boxA = wrapFactory.WrapBox(pizzaFactory);
            Box boxB = wrapFactory.WrapBox(toycarFactory);

            Console.WriteLine(boxA.Prouduct.Name);
            Console.WriteLine(boxB.Prouduct.Name);

            Console.ReadKey();
        }