• 桥接模式(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可见的接口一致即可。

  • 相关阅读:
    循环神经网络(LSTM和GRU)(1)
    threading包的例子和queue包的例子
    xgboost调参
    理解 Python 中的 *args 和 **kwargs
    TFRecords文件的生成和读取(1)
    tensorflow函数介绍(4)
    python其他篇(1)
    python实现Restful服务(基于flask)(2)
    开源多线程性能测试工具-sysbench
    MySQL 8.0.0 版本发布,亮点都在这了!
  • 原文地址:https://www.cnblogs.com/13jhzeng/p/5522730.html
Copyright © 2020-2023  润新知