为什么JDBC是Bridge设计模式的典型应用?
Why is JDBC a typical application of Bridge design pattern?
我从很多资源中发现JDBC是桥接设计模式的典型例子。但他们通常不说细节,所以我想知道细节。据我了解:
Driver
接口是 DriverManager
和具体 JDBC 驱动程序 类 之间的 桥梁
Connection
接口是Driver
和具体JDBC连接类 之间的桥梁
Statement
接口是Connection
和具体SQL语句类 之间的桥梁
ResultSet
接口是Statement
和具体结果集类 之间的桥梁
如有错误请修改。另外我猜想 DataSource
接口也是一个 bridge,但我想不通那是一个 bridge 和 类
接口 (JDBC API) 保持不变的 Bridge pattern, as defined by the "Gang of Four", means decoupling an abstraction from its implementation so that the two can vary independently. In this context, it's not so much about bridging different classes together. Instead, the pattern illustrates the Open/Closed principle,但可以添加新的实现(JDBC 驱动程序)并相互替换。
这意味着使用JDBC的数据访问代码只需要依赖API接口,例如Connection
、Statement
或ResultSet
,而不是关心应用程序连接到的实际数据库系统。 JDBC 会将应用程序 桥接 到应用程序部署到的环境中使用的数据库。出于这个原因,您可以针对不同的 RDBMS 运行 相同的代码(使用 JDBC 抽象),并且只有 JDBC 驱动程序(实现)需要更改。
RUI 添加:http://www.informit.com/articles/article.aspx?p=29302
不是。
桥接模式需要一个 API 的具体实现映射到另一个 API 的具体实现。它很少被使用:事实上,自 GoF 书出现以来的 20 多年里,我只用过一次,我很后悔那次。
JDBC 提供 API(接口)的抽象定义,这些定义由 same API 的具体实现实现,并且依次进行网络操作,而不是调用不同的 API.
然而,Type 2 JDBC 驱动程序在内部是桥接模式的一个示例。在这个架构中,Java 层与 JNI 层对话,JNI 层与不同的 C API 对话,可能已经存在并由供应商提供。这个架构是过渡性的,我怀疑你现在会找到一个例子。
我从很多资源中发现JDBC是桥接设计模式的典型例子。但他们通常不说细节,所以我想知道细节。据我了解:
Driver
接口是DriverManager
和具体 JDBC 驱动程序 类 之间的 桥梁
Connection
接口是Driver
和具体JDBC连接类 之间的桥梁
Statement
接口是Connection
和具体SQL语句类 之间的桥梁
ResultSet
接口是Statement
和具体结果集类 之间的桥梁
如有错误请修改。另外我猜想 DataSource
接口也是一个 bridge,但我想不通那是一个 bridge 和 类
接口 (JDBC API) 保持不变的 Bridge pattern, as defined by the "Gang of Four", means decoupling an abstraction from its implementation so that the two can vary independently. In this context, it's not so much about bridging different classes together. Instead, the pattern illustrates the Open/Closed principle,但可以添加新的实现(JDBC 驱动程序)并相互替换。
这意味着使用JDBC的数据访问代码只需要依赖API接口,例如Connection
、Statement
或ResultSet
,而不是关心应用程序连接到的实际数据库系统。 JDBC 会将应用程序 桥接 到应用程序部署到的环境中使用的数据库。出于这个原因,您可以针对不同的 RDBMS 运行 相同的代码(使用 JDBC 抽象),并且只有 JDBC 驱动程序(实现)需要更改。
RUI 添加:http://www.informit.com/articles/article.aspx?p=29302
不是。
桥接模式需要一个 API 的具体实现映射到另一个 API 的具体实现。它很少被使用:事实上,自 GoF 书出现以来的 20 多年里,我只用过一次,我很后悔那次。
JDBC 提供 API(接口)的抽象定义,这些定义由 same API 的具体实现实现,并且依次进行网络操作,而不是调用不同的 API.
然而,Type 2 JDBC 驱动程序在内部是桥接模式的一个示例。在这个架构中,Java 层与 JNI 层对话,JNI 层与不同的 C API 对话,可能已经存在并由供应商提供。这个架构是过渡性的,我怀疑你现在会找到一个例子。