前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >java设计模式(9)-桥接模式

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

作者头像
爱敲代码的猫
发布2019-10-17 01:42:50
3220
发布2019-10-17 01:42:50
举报
文章被收录于专栏:爱敲代码的猫

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

桥接模式:

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

代码语言:javascript
复制
public interface Source {  
    public void SourceMethod();  
}  

实现类:

代码语言:javascript
复制
public class SourceImplOne implements Source {  
  
    @Override  
    public void SourceMethod() {  
        System.out.println("第一个实现类!");  
    }  
}  
代码语言:javascript
复制
public class SourceImplTwo implements Source{  
  
    @Override  
    public void SourceMethod() {  
        System.out.println("第二个实现类!");  
    }  
}  

桥:

代码语言:javascript
复制
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;  
    }  
}  
代码语言:javascript
复制
public class MyBridge extends Bridge {  
    public void method(){  
        getSource().SourceMethod();  
    }  
}  

测试类:

代码语言:javascript
复制
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();  
    }  
}  

输出:

代码语言:javascript
复制
第一个实现类!
第二个实现类!

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 爱敲代码的猫 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 桥接模式:
    • 实现类:
      • 桥:
        • 测试类:
          • 输出:
          相关产品与服务
          数据库
          云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档