Bridge
桥接模式,也叫桥梁模式。应用场景比较局限,在实际项目中并没有常见,简单了解即可。
GoF 中的定义:Decouple an abstraction from it's implementation so that the two can vary independently。将抽象和实现解耦,所以它们可以独立变化。
如下所示,如要缓存 Oracle 的数据库,改为 oracle.jdbc.driver.OracleDriver
就行。
这里的抽象不是抽象类或接口,而是抽象出来的一套类库,比如 JDBC;实现也不是接口的实现,而是实现的一套类库,比如 MySQL 的 Driver、Oracle 的 Driver。
很多书籍、资料中有其它解释:一个类存在两个(或多个)独立变化的维度,我们通过组合的方式,让这两个(或多个)维度可以独立进行扩展。类似于组合由于继承。
Last updated