桥接模式:将抽象部分与它的实现部分分离,使它们都可以独立的变化。
实现系统可能有多角度分类,每一个分类都可能变化,那么把这种角度分离出来,让它们独立变化,减少他们之间的耦合。
abstract class Implementor { public abstract void Operation(); }
class AImplementor : Implementor { public override void Operation() { Console.WriteLine("AImplementor的方法执行"); } }
class BImplementor : Implementor { public override void Operation() { Console.WriteLine("BImplementor的方法执行"); } }
class Abstraction { protected Implementor implementor; public void SetImplementor(Implementor implementor) { this.implementor = implementor; } public virtual void Operation() { implementor.Operation(); } }
class AAbstraction : Abstraction { }
Abstraction obj = new AAbstraction(); obj.SetImplementor(new AImplementor()); obj.Operation(); obj.SetImplementor(new BImplementor()); obj.Operation();