码迷,mamicode.com
首页 > 其他好文 > 详细

桥接模式(Bridge Pattern)

时间:2016-05-24 12:06:27      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

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

举一个数据库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)

标签:

原文地址:http://www.cnblogs.com/13jhzeng/p/5522730.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!