[设计模式]桥接模式(Bridge) DriverManager
来源:互联网 发布:为什么要学linux 编辑:程序博客网 时间:2024/05/24 03:49
桥接模式就是把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。我们来看看关系图:
实现代码:
接口和2个实现类:
public interface Sourceable { public void method(); }
public class SourceSub1 implements Sourceable { @Override public void method() { System.out.println("this is the first sub!"); } }
public class SourceSub2 implements Sourceable { @Override public void method() { System.out.println("this is the second sub!"); } }定义一个桥,持有Sourceable的一个实例(不用管是souceSub1还是sourceSub2):
public abstract class Bridge { private Sourceable source; public void method(){ source.method(); } public Sourceable getSource() { return source; } public void setSource(Sourceable source) { this.source = source; } }
public class MyBridge extends Bridge { public void method(){ getSource().method(); } }
测试类:
public class BridgeTest { public static void main(String[] args) { Bridge bridge = new MyBridge(); /*调用第一个对象*/ Sourceable source1 = new SourceSub1(); bridge.setSource(source1); bridge.method(); /*调用第二个对象*/ Sourceable source2 = new SourceSub2(); bridge.setSource(source2); bridge.method(); } }
output:
this is the first sub!
this is the second sub!
这样,就通过对Bridge类的调用,实现了对接口Sourceable的实现类SourceSub1和SourceSub2的调用。接下来我再画个图,大家就应该明白了,因为这个图是我们JDBC连接的原理,有数据库学习基础的,一结合就都懂了。
1 0
- [设计模式]桥接模式(Bridge) DriverManager
- 设计模式:桥接模式(Bridge)
- 设计模式:桥接模式(Bridge)
- 设计模式:桥接模式(Bridge)
- 设计模式:桥接模式(Bridge)
- 【设计模式】桥接模式(Bridge)
- 设计模式之 Bridge 模式(桥接模式)
- 每天一个(设计模式)-- Bridge模式(桥接模式)
- 桥接设计模式bridge
- 设计模式(10)-桥接模式(Bridge)
- 设计模式 Bridge 桥接模式
- Java设计模式-----Bridge桥接模式
- 设计模式--桥接模式(Bridge)
- 设计模式(12)-桥接模式(Bridge)
- 设计模式-----桥接模式(Bridge Pattern)
- 设计模式学习----Bridge桥接模式
- 设计模式之-Bridge-- 桥接模式
- 设计模式 – 桥接模式(Bridge)
- Ant入门(1)
- 大数加减法(C++实现)
- 在UNITY中创建出一个简单的UI界面
- DAS、NAS、SAN三种存储方式的比较
- zabbix安装详解
- [设计模式]桥接模式(Bridge) DriverManager
- android指纹识别/脸部识别
- vpn安装
- NSString 不常用方法
- Java 中的常用类
- 在linux上使用yum安装JDK
- jquery ajax后台向前台传list 前台用jquery $.each遍历list
- linux安装memcached及memcache扩展
- C#控制Excel的打印格式