ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[TOC] ## 概述 桥接模式通过将继承改为组合的方式来解决这个问题 ## 桥接模式结构 ![](https://img.kancloud.cn/7c/7b/7c7ba3e1f2380fa116603579c214943e_1120x760.png) 1. 抽象部分 (Abstraction) 提供高层控制逻辑, 依赖于完成底层实际工作的实现对象。 2. 实现部分 (Implementation) 为所有具体实现声明通用接口。 抽象部分仅能通过在这里声明的方法与实现对象交互。 3. 具体实现 (Concrete Implementations) 中包括特定于平台的代码。 4. 精确抽象 (Refined Abstraction) 提供控制逻辑的变体。 与其父类一样, 它们通过通用实现接口与不同的实现进行交互。 5. 通常情况下, 客户端 (Client) 仅关心如何与抽象部分合作。 但是, 客户端需要将抽象对象与一个实现对象连接起来。 ## 适合应用场景 - 如果你想要拆分或重组一个具有多重功能的庞杂类 (例如能与多个数据库服务器进行交互的类), 可以使用桥接模式。 - 如果你希望在几个独立维度上扩展一个类, 可使用该模式。 - 如果你需要在运行时切换不同实现方法, 可使用桥接模式。