用途

将抽象部分与他的实现部分分离,使它们可以独立变化。

要素

  • 抽象类A:有多个子类,有一个组合属性X的类型是接口B
  • 抽象类A的子类:拥有继承自类A的属性X,调用接口B的不同子类的方法实现不同功能。
  • 接口B:抽象类子类的不同实现的接口。
  • 接口B的子类:抽象类子类的不同实现。
  • 示例图:

桥接模式.jpg

优缺点

  • 抽象类及其实现各自由子类进行扩充,而不是每个抽象类的子类通过生成自己的子类来扩充不同实现,从而防止类继承的爆炸