jdbc 连接中使用了哪种设计模式?
Which design pattern is used in jdbc connection?
连接conn = DriverManager.getConnection(URL);
语句 stmt = conn.createStatement();
结果集 rs = stmt.executeQuery(sql);
这里使用的是哪种设计模式?我们看到每个对象返回一个不同的对象。
所选设计模式的替代方案有哪些?
显然不是每个代码都遵循设计模式。但是那里仍然有一些类似于一些熟悉模式的东西。
整个JDBC架构实际上是一个Bridge,它是一个抽象概念,包含其他可以单独替换的抽象。
下面的 类 实现了一些模式。
DriverManager.getConnection(URL) 对我来说似乎是 static factory method,这在 Java 框架中很常见。
Statement 和 Connection 实际上遵循相同的模式,它在实现 JDBC Wrapper 接口时是某种 Unit of Work or Transaction pattern since it allows you to bulk statements together. But it also follows a Proxy 模式。
ResultSet 遵循 Iterator pattern but it is also a Data mapper。
对检查的答案进行更正:
ResultSet
不是 data mapper, from whose link we can easily figure out that the concept data mapper was coined in the context of enterprise application architecture in 2003. Whereas the ResultSet
already existed in the late 1990s. One can search for the keyword "since", by means of which one can infer that the earliest version when new features were added is since 1.2(in 1998. Refer to Java version history),这意味着大多数旧功能,例如那些 getters 已经在这个中class 1998 年之前
Class JDK 1.1.8 的列表是 here,其中已经有 ResultSet
此外,从DriverManager
、Connection
和Driver
的角度来看,JDBC不仅是应用静态工厂方法但更准确地说服务提供商框架的标准应用,一种设计模式在第1条:考虑用静态工厂方法代替书中的构造函数Effective Java:
Connection
是服务接口
DriverManager.registerDriver
是供应商注册API
DriverManager.getConnection
是服务权限API
java.sql.Driver
是服务提供商接口
连接conn = DriverManager.getConnection(URL); 语句 stmt = conn.createStatement(); 结果集 rs = stmt.executeQuery(sql);
这里使用的是哪种设计模式?我们看到每个对象返回一个不同的对象。
所选设计模式的替代方案有哪些?
显然不是每个代码都遵循设计模式。但是那里仍然有一些类似于一些熟悉模式的东西。
整个JDBC架构实际上是一个Bridge,它是一个抽象概念,包含其他可以单独替换的抽象。
下面的 类 实现了一些模式。
DriverManager.getConnection(URL) 对我来说似乎是 static factory method,这在 Java 框架中很常见。
Statement 和 Connection 实际上遵循相同的模式,它在实现 JDBC Wrapper 接口时是某种 Unit of Work or Transaction pattern since it allows you to bulk statements together. But it also follows a Proxy 模式。
ResultSet 遵循 Iterator pattern but it is also a Data mapper。
对检查的答案进行更正:
ResultSet
不是 data mapper, from whose link we can easily figure out that the concept data mapper was coined in the context of enterprise application architecture in 2003. Whereas the ResultSet
already existed in the late 1990s. One can search for the keyword "since", by means of which one can infer that the earliest version when new features were added is since 1.2(in 1998. Refer to Java version history),这意味着大多数旧功能,例如那些 getters 已经在这个中class 1998 年之前
Class JDK 1.1.8 的列表是 here,其中已经有 ResultSet
此外,从DriverManager
、Connection
和Driver
的角度来看,JDBC不仅是应用静态工厂方法但更准确地说服务提供商框架的标准应用,一种设计模式在第1条:考虑用静态工厂方法代替书中的构造函数Effective Java:
Connection
是服务接口DriverManager.registerDriver
是供应商注册APIDriverManager.getConnection
是服务权限APIjava.sql.Driver
是服务提供商接口