设计模式-桥接模式

avatar
作者
猴君
阅读量:0

桥接(Bridge)模式是一种结构型设计模式,主要目的是通过组合方式分离抽象接口和其实现部分。以下是一个简单的C#实现示例:

// 抽象部分 public abstract class Abstraction {     protected Implementor implementor;       protected Abstraction(Implementor implementor)     {         this.implementor = implementor;     }       public virtual void Operation()     {         implementor.OperationImpl();     } }   // 修正抽象部分 public class RefinedAbstraction : Abstraction {     public RefinedAbstraction(Implementor implementor) : base(implementor)     {     }       public override void Operation()     {         // 可以添加一些自己的操作         base.Operation();     } }   // 实现部分接口 public interface Implementor {     void OperationImpl(); }   // 具体实现 public class ConcreteImplementorA : Implementor {     public void OperationImpl()     {         Console.WriteLine("ConcreteImplementorA Operation");     } }   public class ConcreteImplementorB : Implementor {     public void OperationImpl()     {         Console.WriteLine("ConcreteImplementorB Operation");     } }   // 客户端代码 public class Client {     public static void Main(string[] args)     {         Implementor implementorA = new ConcreteImplementorA();         Abstraction abstractionA = new RefinedAbstraction(implementorA);         abstractionA.Operation();           Implementor implementorB = new ConcreteImplementorB();         Abstraction abstractionB = new RefinedAbstraction(implementorB);         abstractionB.Operation();     } }

在这个例子中,Implementor 接口定义了实现部分的行为,而 ConcreteImplementorA 和 ConcreteImplementorB 是具体的实现。Abstraction 类通过组合方式引用了 Implementor,并且可以在其中加入自己的操作。RefinedAbstraction 是对抽象部分的一些扩展。客户端代码中,我们可以通过更换实现部分来改变整个结构的行为。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!