java设计模式(9)-桥接模式

这篇推文分享一下桥接模式,JDBC原理也是运用了桥接模式,先设置驱动名称,链接,来获得数据库链接,降低耦合,减少维护

桥接模式:

把事物和其具体实现分开,使他们可以各自独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了

public interface Source {  
    public void SourceMethod();  
}  

实现类:

public class SourceImplOne implements Source {  
  
    @Override  
    public void SourceMethod() {  
        System.out.println("第一个实现类!");  
    }  
}  
public class SourceImplTwo implements Source{  
  
    @Override  
    public void SourceMethod() {  
        System.out.println("第二个实现类!");  
    }  
}  

桥:

public abstract class Bridge {  
    private Source source;  
  
    public void SourceMethod(){  
        source.SourceMethod();  
    }  
      
    public Sourceable getSource() {  
        return source;  
    }  
  
    public void setSource(Sourceable source) {  
        this.source = source;  
    }  
}  
public class MyBridge extends Bridge {  
    public void method(){  
        getSource().SourceMethod();  
    }  
}  

测试类:

public class BridgeTest {  
      
    public static void main(String[] args) {  
          
        Bridge bridge = new MyBridge();  
          
        /*调用第一个对象*/  
        SourceImplOne source1 = new SourceImplOne();  
        bridge.setSource(source1);  
        bridge.method();  
          
        /*调用第二个对象*/  
        SourceImplTwo source2 = new SourceImplTwo();  
        bridge.setSource(source2);  
        bridge.method();  
    }  
}  

输出:

第一个实现类!
第二个实现类!

Bridge类的调用,实现了对接口Source的实现类SourceImplOne和SourceImplTwo的调用,这个就是JDBC连接的原理。

本文分享自微信公众号 - 爱敲代码的猫(aquanrun)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-03-25

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券