【C#设计模式(7)——桥接模式(Bridge Pattern)】

前言

桥接模式的主要作用是将抽象部分和实现部分分离,使它们可以独立地进行扩展、修改和重用,从而增加了系统的灵活性和可维护性。

代码

csharp 复制代码
// 桥接口
public interface IBridge
{
    void Create();
}
//石桥
public class StoneBridge : IBridge
{
    public void Create()
    {
        Console.WriteLine("The bridge is made of stone.");
    }
}
//刚桥
public class SteelBridge : IBridge
{
    public void Create()
    {
        Console.WriteLine("The bridge is made of steel.");
    }
}
//抽象桥类型
public abstract class BridgeType 
{
    protected IBridge bridge;
    protected BridgeType(IBridge bridge)
    {
        this.bridge = bridge;
    }
    public abstract void Create();
}
//拱桥类型
public class ArchBridge : BridgeType
{
    public ArchBridge(IBridge bridge) : base(bridge){}

    public override void Create()
    {
        Console.WriteLine("Creating an arch bridge. ");
        bridge.Create();
    }
}
//钢架桥
public class RigidFrameBridge : BridgeType
{
    public RigidFrameBridge(IBridge bridge) : base(bridge){}
    public override void Create()
    {
        Console.WriteLine("Created a steel bridge.");
        bridge.Create();
    }
}

/*
 * 结构型模式:Structural Pattern
 * 桥接模式:Bridge Pattern
 */
internal class Program
{
    static void Main(string[] args)
    {
        IBridge stone = new StoneBridge();
        IBridge steel = new SteelBridge();

        BridgeType archBridge = new ArchBridge(stone);
        BridgeType rigidFrameBride = new RigidFrameBridge(steel);

        archBridge.Create();
        rigidFrameBride.Create();
        Console.ReadLine();
    }
}

运行结果

相关推荐
烛阴1 小时前
TEngine 入门系列(二):三件套环境搭建 -- Unity + TEngine + AI 助手
前端·c#·unity3d
多加点辣也没关系1 小时前
设计模式-抽象工厂模式
java·设计模式·抽象工厂模式
洛水水1 小时前
设计模式入门:从设计原则到核心模式
c++·设计模式
多加点辣也没关系3 小时前
设计模式-组合模式
设计模式·组合模式
多加点辣也没关系3 小时前
设计模式-外观模式
设计模式·外观模式
咖啡八杯4 小时前
GoF设计模式——抽象工厂模式
java·后端·spring·设计模式·抽象工厂模式
是个西兰花4 小时前
单列模式和C++中的类型转换
c++·单例模式·设计模式·rtti
多加点辣也没关系4 小时前
设计模式-享元模式
数据库·设计模式·享元模式
The Shio5 小时前
OptiByte 操练场:面向 IoT/嵌入式的协议可视化调试工具
网络·嵌入式硬件·物联网·c#·.net·业界资讯·iot
熠熠仔6 小时前
《Agentic Design Patterns》概览
学习·设计模式