桥接模式

桥接模式(Bridge Design Pattern) 指:一个类存在两个(或多个)独立变化的维度,我们通过组合的方式,让这两个(或多个)维度可以独立进行扩展

JDBC 驱动是桥接模式的经典应用

Class.forName("com.mysql.jdbc.Driver");//加载及注册JDBC驱动程序
String url = "jdbc:mysql://localhost:3306/sample_db?user=root&password=your_password";
Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();
String query = "select * from test";
ResultSet rs=stmt.executeQuery(query);
while(rs.next()) {
  rs.getString(1);
  rs.getInt(2);
}

从一个数据库切换到另一种数据库,都只需要改动很少的代码,或者完全不需要改动代码。

当我们把具体的 Driver 实现类(比如,com.mysql.jdbc.Driver
注册到 DriverManager 之后,后续所有对 JDBC 接口的调用,都会委派到对具体的 Driver 实现类来执行。而 Driver 实现类都实现了相同的接口(java.sql.Driver ),
这也是可以灵活切换 Driver 的原因。