桥接模式
桥接模式将类的抽象部分与其实现部分分离,使它们可以独立变化。这种模式有助于解决多维度变化的问题。
示例
这听起来比较让人难以理解,但实际上桥接模式的概念非常简单,很可能你在开发过程中已经不知不觉地使用过它。
例如,我们之前一直使用门的例子来解释设计模式。我们通常会有 Door, IronDoor, WoodenDoor 这几个类,但如果再引入 Color 的概念,那么就会有 RedIronDoor, BlueIronDoor, RedWoodenDoor, BlueWoodenDoor 等多个类——很明显,类的数量将随属性的增加而呈指数级增长。
为了避免这种情况,我们会将继承关系改为组合关系,即将 Color 作为一个属性,而不是一个类;对于 Material 也是一样。这样,我们就可以通过组合不同的对象来实现不同颜色和材质的门,而不需要为每种属性都创建一个新的类。
结构
