定义
桥接模式(Bridge Pattern)是一种结构型设计模式,它将抽象与实现分离,使它们可以独立地变化。在桥接模式中,抽象部分(Abstraction)包含对实现部分(Implementor)的引用,实现部分可以通过接口中的方法被抽象部分使用,但是具体的实现细节对于抽象部分来说是隐藏的。
应用场景
桥接模式适用于以下场景:
- 避免抽象和实现之间的固定绑定:当一个系统需要在抽象部分和实现部分之间增加更多灵活性时,可以使用桥接模式来避免双方直接的静态绑定。
- 抽象和实现都可以独立扩展:当抽象和实现两部分都需要独立地进行扩展和变化时,使用桥接模式可以避免在一个维度的变化导致另一个维度同时变化的情况。
- 在多个对象间共享实现:当多个对象可以共享实现,但又需要有不同的抽象时,可以使用桥接模式。
示例与反例
示例:
假设有一个图形绘制程序,需要绘制不同类型的图形(如圆形、矩形),并且支持多种绘图API(如API1、API2)。使用桥接模式可以将图形的类型和绘图API分离。
// 实现接口
interface DrawAPI {void drawCircle(int radius, int x, int y);
}// 具体实现1
class DrawAPI1 implements DrawAPI {public void