桥接模式(Bridge Pattern):拆分继承树,实现抽象与实现的独立演化
桥接模式是结构型设计模式的一种,核心思想是将抽象部分与实现部分分离,使两者可以独立变化。它通过 “组合” 替代 “继承”,解决了因多维度变化导致的 “类爆炸” 问题,让抽象和实现能够沿着各自的维度灵活扩展。
桥接模式的核心结构

桥接模式通过四个核心角色实现抽象与实现的分离,形成清晰的 “桥接” 关系:
实现部分(Implementor)
- 定义实现部分的接口,声明具体实现的基本操作(与抽象部分的业务逻辑无关,仅提供底层能力)。
- 示例:
DrawingAPI(绘图接口,定义绘制图形的底层方法)。
具体实现(ConcreteImplementor)
- 实现 Implementor 接口,提供具体的底层实现(如不同的技术、平台、工具等)。
- 示例:
OpenGLAPI、DirectXAPI(分别基于 OpenGL 和 DirectX 的绘图实现)。
抽象部分(Abstraction)
- 定义抽象部分的接口,包含对实现部分的引用(通过组合关联 Implementor),并声明高层业务逻辑。
- 示例:
Shape(图形抽象类,持有DrawingAPI的引用,定义图形的绘制逻辑)。
扩展抽象(RefinedAbstraction)
- 扩展抽象部分的接口,添加更具体的业务逻辑,但不直接涉及实现细节(依赖实现部分的接口完成操作)。
- 示例:
Circle、Rectangle(具体图形,继承Shape并扩展其功能)。
代码实现示例
以 “跨平台图形绘制” 为例:抽象部分为 “图形”(如圆形、矩形),实现部分为 “绘图 API”(如 OpenGL、DirectX),桥接模式使图形与绘图技术独立变化。



