桥接模式(Bridge Pattern)

Posted 没有梦想的小灰灰

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了桥接模式(Bridge Pattern)相关的知识,希望对你有一定的参考价值。

桥接模式,用于将抽象化与实现化解偶,使得二者可以独立变化。

举一个数据库JDBC的例子:

定义一个Driver接口,不同的数据库实现的接口,如mysql,SQLServer

public interface Driver {
    public void connect();
}

MySQL具体类:

public class MySQL implements Driver {
    public void connect() {
        System.out.println("connect to MySQL");
    }
}

SQLServer具体类:

public class SQLServer implements Driver {
    public void connect() {
        System.out.println("connect to SQLServer");
    }
}

一个桥接类:

public class DriverManager {
    Driver driver;
    public setDriver(Driver d) {
        driver = d;
    }
  
public connect() { driver.connect(); } }

测试代码:

DriverManager dm = new DriverManager();
Driver mysqldriver = new MySQL();
dm.setDriver(driver);
dm.connect();

Driver sqlserverdriver = new SQLServer();
dm.setDriver(driver);
dm.connect();

利用DriverManager作为桥接类,将不同数据库的具体实现与客户实现解耦,使得二者可以独立变化,客户实现的时候才决定使用哪个数据库,而且打算更换数据库时只需要修改代码中选择数据库的部分,数据库的厂商可以自行设计数据库的具体实现,只需要保证实现Driver接口,且对DriverManager可见的接口一致即可。

以上是关于桥接模式(Bridge Pattern)的主要内容,如果未能解决你的问题,请参考以下文章

桥接模式(Bridge Pattern)

桥接模式(Bridge Pattern)

php桥接模式(bridge pattern)

桥接模式(Bridge Pattern)

二十四种设计模式:桥接模式(Bridge Pattern)

9,桥接模式(Bridge Pattern)是将抽象部分与实际部分分离,使它们都可以独立的变化。