桥接模式(Bridge)-----基于JAVA语言

本文介绍桥接模式的基本概念,通过JDBC桥接的例子说明如何将抽象化与实现化解耦,以便两者可以独立变化。提供了具体的Java代码实现,展示如何通过桥接模式轻松地在不同的数据库驱动间切换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

桥接模式(也叫桥梁模式)就是将抽象部分和实现部分分离,使它们都可以独立的变化。桥接的用意是:将抽象化与实现化解耦,使得二者可以独立变化,像我们常用的JDBC桥DriverManager一样,JDBC进行连接数据库的时候,在各个数据库之间进行切换,基本不需要动太多的代码,甚至丝毫不用动,原因就是JDBC提供统一接口,每个数据库提供各自的实现,用一个叫做数据库驱动的程序来桥接就行了。
    例子: 
  //公共的驱动接口
    public interface Driver {  
        public void getConnection();  
    }   
    //第一个实现类 mysql驱动类
    public class MysqlDriver implements Driver{  
        public void getConnection() {  
            System.out.println("mysql 数据库连接");  
        }  
    }
    //第二个实现类 oracle驱动类
    public class OracleDriver implements Driver {  
        public void getConnection() {  
            System.out.println("oracle数据库连接");  
        }  
    }  
    //抽象的管理器  Bridge
    public abstract class Manager {  
        private Driver driver;  
        public  void getConnection(){  
            driver.getConnection();  
        }  
        public void setDriver(Driver driver) {  
            this.driver = driver;  
        }  
    }  
    //具体的驱动管理器 Bridge
    public class DriverManager extends Manager {  
        public DriverManager(Driver driver){  
            setDriver(driver);  
        }  
        public void getConnection() {  
            super.getConnection();  
        }  
    }  


    //测试类  注意我们的抽象和具体实现是分开的,无论他们如何变化都不会影响到我们bridge中的功能执行
    //JDBC中,我们使用的就是一系列javaAPI提供的接口,而且数据公司商则给我们提供接口的实现
    public class Test {  
        public static void main(String[] args) {  
              
            DriverManager manager = new DriverManager(new MysqlDriver());  
            manager.getConnection();  
              
            manager = new DriverManager(new OracleDriver());  
            manager.getConnection();  
        }  
    }  
简单的例子,帮助我们了解桥接模式.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值