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(); }