Ejemplo n.º 1
0
            public static void Start()
            {
                Console.WriteLine("Bridge Pattern\n");

                ImplementationA impA = new ImplementationA();

                impA.OpernationImplementation();

                new ImplementationB().OpernationImplementation();

                //........................
                //new Abstraction().Operation();
                new Abstraction(new ImplementationA()).Operation();
                new Abstraction(new ImplementationB()).Operation();


                //************************************
                //Client will decide which sub class to instantiate at run time.

                bool persistFlag = false;

                if (persistFlag)
                {
                    new PersistDataAbstration(new DB2Implementation()).PersistDataImple();
                }
                else
                {
                    new PersistDataAbstration(new SQLServerImplementation()).PersistDataImple();
                }
            }
        public static void Run()
        {
            Console.WriteLine("IBridge Pattern\n");
            //Console.WriteLine(new Abstraction(new ImplementationA()).Operation());
            //Console.WriteLine(new Abstraction(new ImplementationB()).Operation());
            IBridge implementationA = new ImplementationA();
            IBridge implementationB = new ImplementationB();

            var abstraction1 = new Abstraction(implementationA);

            Console.WriteLine(abstraction1.Operation());
            var abstraction2 = new Abstraction(implementationB);

            Console.WriteLine(abstraction2.Operation());

            Console.WriteLine();
            Console.WriteLine("******************************************");
            Console.WriteLine();
        }