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

桥接模式:将抽象部分与他的实现部分分离,这样抽象化与实现化解耦,使他们可以独立的变化。

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

UML类图:

a9f848658d8e59810ed546c6ca7a985f.pnginterface 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();

}

}

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

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

相关文章:

相关视频:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值