设计模式之桥接模式

  • 桥接模式 将抽象部分与它的实现部分分离,使它们都可以独立地变化。
abstract class Implementor {
    public abstract void Operation();
}
  • ConcreteImplementorA 和 ConcreteImplementorB等派生类
class ConcreteImplementorA : Implementor {
    public override void Operation() {
        Console.WriteLine("具体实现A的方法执行");
    }
}

class ConcreteImplementorB : Implementor {
    public override void Operation() {
        Console.WriteLine("具体实现B的方法执行");
    }
}
  • Abstraction类
class Abstraction {
    protected Implementor implementor;
    
    public void SetImplementor (Implementor implementor) {
        this.implementor = implementor;
    }
    
    public virtual void Operation() {
        implementor.Operation();
    }
}
  • RefinedAbstraction类
class RefinedAbstraction : Abstraction {
    public override void Operation() {
        implementor.Operation();
    }
}
  • 客户端实现
static void Main (String[] args) {
    Abstraction ab = new RefinedAbstraction();
    
    ab.SetImplementor(new ConcreteImplementorA());
    ab.Operation();
    
    ab.SetImplementor(new ConcreteImplementorB());
    ab.Operation();
    
    Console.Read();
}
posted @ 2018-01-17 23:09  _sanjun  阅读(103)  评论(0编辑  收藏  举报