日期:2014-05-16  浏览次数:20507 次

Bridge模式在JDBC中是如何体现的呢?
?? Bridge模式的目的在于实现抽象(Abstraction)和实现(Implementor)的分离,具体参与者有 Abstraction, RefindAbstraction, Implementor和ConcreteImplementor。那么在一个具体的JDBC应用中,各个类是如何分别组织到Bridge模式的四个参与者中呢?java.sql.Driver作为Implementor,而各个数据库厂商实现的数据库驱动通过实现Driver接口作为ConcreteImplementor,这都是比较好理解的。但那些类是Abstraction和RefindAbstraction呢?如何体现出Bridge模式抽象和实现独立变化的优势呢?望大家不吝赐教。
1 楼 dovecat 2007-03-13  
Dustin 写道
   Bridge模式的目的在于实现抽象(Abstraction)和实现(Implementor)的分离,具体参与者有 Abstraction, RefindAbstraction, Implementor和ConcreteImplementor。那么在一个具体的JDBC应用中,各个类是如何分别组织到Bridge模式的四个参与者中呢?java.sql.Driver作为Implementor,而各个数据库厂商实现的数据库驱动通过实现Driver接口作为ConcreteImplementor,这都是比较好理解的。但那些类是Abstraction和RefindAbstraction呢?如何体现出Bridge模式抽象和实现独立变化的优势呢?望大家不吝赐教。
jdbc使用的是adapter模式.
根据桥接bridge模式的定义是在两个不同类型体系结构的类型树中间,使用一个bridge对象,将两者进行桥接通信的过程.

我们并没看到jdbc体系中有bridge对象的存在或者类似的功能.

相反,jdbc使用adapter模式,将所有其他数据库的接口,统一适配成jdbc中定义的接口来给java程序使用.
2 楼 dearwolf 2007-03-13  
实际上运用的就是“针对接口编程,而非针对类编程”这条原则
3 楼 抛出异常的爱 2007-03-13  
<br/>
<strong>Dustin 写道:</strong><br/>
<div class='quote_div'>?? Bridge模式的目的在于实现抽象(Abstraction)和实现(Implementor)的分离,具体参与者有 Abstraction, RefindAbstraction, Implementor和ConcreteImplementor。那么在一个具体的JDBC应用中,各个类是如何分别组织到Bridge模式的四个参与者中呢?java.sql.Driver作为Implementor,而各个数据库厂商实现的数据库驱动通过实现Driver接口作为ConcreteImplementor,这都是比较好理解的。但那些类是Abstraction和RefindAbstraction呢?如何体现出Bridge模式抽象和实现独立变化的优势呢?望大家不吝赐教。</div>
<br/>
<br/>
<br/>
你想要说的是jdbc-odbc么?那个是桥模式
4 楼 Dustin 2007-03-14  
  《设计模式Java手册》(Design Patterns Java Workbook,by Steven John Metsker)第6章里面提到JDBC使用的是Bridge模式(The JDBC architecture decoupls an abstraction from its implementation so that two can vary independently-an excellent example of Bridge).我不是很理解,因此希望大家能给点意见参考一下。
5 楼 crazycow 2007-06-14  
我觉得是jdbc的应用,实现DAO的时候用到了bridge模式吧,好像在哪里看到过的...
6 楼 fireflyc 2007-06-14  
哦。是这样的吧。
JDBC有两个变化点。
1.平台的变化
2.数据库的变化。
所以,这个时候使用桥接模式
希望是你要的答案f