桥接模式
将实现与抽象放在两个不同的类层次中,使两个层次可以独立改变。
基于类的最小设计原则,通过使用封装、聚合及继承等行为让不同的类承担不同的职责。
主要特点是把抽象与行为实现分离开来,从而可以保持各部分的独立性以及应对他们的功能扩展。
UML 类图
before:
after:
应用场景
JDBC 的 Driver 接口,如果从桥接模式来看,Driver 就是一个接口,下面可以有 MySQL 的 Driver,
Oracle 的 Driver,这些就可以当做实现接口类。
总结
-
桥接模式替代多层继承方案,可以减少子类个数,降低系统的管理和维护成本。
-
桥接模式重点在于正确识别出系统中两个独立变化的维度。