Skip to content

桥接(Bridge)模式 结构型模式

更新: 2023-05-24 11:11:27   字数: 0 字   时长: 0 分钟

将抽象与实现分离,使它们可以独立变化。它是用组合关系代替继承关系来实现,从而降低了抽象和实现这两个可变维度的耦合度。

c#
// 桥接模式示例
using System;

// 定义一个抽象类,表示一个抽象的实现
abstract class Implementor
{
    public abstract void Operation();
}

// 定义一个具体实现类A
class ConcreteImplementorA : Implementor
{
    public override void Operation()
    {
        Console.WriteLine("具体实现A的方法执行");
    }
}

// 定义一个具体实现类B
class ConcreteImplementorB : Implementor
{
    public override void Operation()
    {
        Console.WriteLine("具体实现B的方法执行");
    }
}

// 定义一个抽象类,表示一个抽象的抽象类
abstract class Abstraction
{
    protected Implementor implementor;

    public void SetImplementor(Implementor implementor)
    {
        this.implementor = implementor;
    }

    public abstract void Operation();
}

// 定义一个具体的抽象类A
class RefinedAbstractionA : Abstraction
{
    public override void Operation()
    {
        implementor.Operation();
        Console.WriteLine("具体抽象类A的方法执行");
    }
}

// 定义一个具体的抽象类B
class RefinedAbstractionB : Abstraction
{
    public override void Operation()
    {
        implementor.Operation();
        Console.WriteLine("具体抽象类B的方法执行");
    }
}

// 客户端
class Client
{
    static void Main(string[] args)
    {
        Abstraction ab = new RefinedAbstractionA();

        ab.SetImplementor(new ConcreteImplementorA());
        ab.Operation();

        ab.SetImplementor(new ConcreteImplementorB());
        ab.Operation();

        Console.Read();
    }
}
你觉得这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度