欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Java

java设计模式:桥接模式抽象化与实现化解耦的理解

程序员文章站 2022-05-07 08:23:32
...
桥接模式:将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化。

通过桥接(接口)将抽象部分和实现部分解耦,桥接是一个接口,实现方继承这个接口,抽象方在抽象类中调用接口中的方法指向实现方。这样实现方通过实现桥接口进行单方面扩展,而抽象方通过继承抽象类进行单方面扩展,两者通过桥接口调用,而接口不受双方扩展的影响。

UML类图:

java设计模式:桥接模式抽象化与实现化解耦的理解

interface Driver {
    public void connect();
}

class MysqlDriver implements Driver {
    @Override
    public void connect() {
        System.out.println("连接Mysql数据库");
    }
}
class OracleDriver implements Driver {
    @Override
    public void connect() {
        System.out.println("连接Oracle数据库");
    }
}
//抽象类
abstract class Bridge {
    private Driver driver;
    public void connect() {
        driver.connect();
    }
    public void setDriver(Driver driverTemp) {
        this.driver = driverTemp;
    }
    public Driver getDriver() {
        return this.driver;
    }
}
//实现类
class MyBridge extends Bridge { }
//测试类
public class BridgeTest {
    public static void main(String[] args) {
        Bridge mysqlBridge = new MyBridge();

        Driver mysqlDriver = new MysqlDriver();
        mysqlBridge.setDriver(mysqlDriver);
        mysqlBridge.connect();

        OracleDriver oracleDriver = new OracleDriver();
        mysqlBridge.setDriver(oracleDriver);
        mysqlBridge.connect();
    }
}

桥接模式是有方向性的,桥绑定的一方是被调用者,属于被动方,抽象方属于主动方。

桥接模式降低的代码的耦合度,提高的系统的可扩展性,实现细节透明化。但是桥接模式的引入加大了系统的理解和设计难度

相关文章:

Java设计模式中关于桥接模式的详解

JavaScript设计模式系列六:桥接模式

相关视频:

JavaScript设计模式完整视频教程

以上就是java设计模式:桥接模式抽象化与实现化解耦的理解的详细内容,更多请关注其它相关文章!

相关标签: java 桥接模式