桥接方式最大的好处在于使用方和被使用方可以灵活改变,但是核心的逻辑 被使用方被使用方使用是不能够更改的。
用代码抽象,可以理解为使用方和被使用方先使用Base类对核心逻辑进行表示,之后各方可以在做特化。这个核心逻辑就是桥接模式中的桥。
下面给出一个实例:
使用充电宝和充电器分别给手机和蓝牙耳机进行充电。
分析:上面的对象提取抽象,可以分出来两大类:供电设备和用电设备。
核心逻辑是供电设备 供电 给 用电设备 充电。
特化逻辑是 供电设备分为充电宝和充电器,用电设备分为手机和蓝牙耳机。
下面直接上代码:
1.用电设备基类
package kisaragi.yu.powerBridgeTest;
public interface Equipment {
void charging();
void disConnect();
}
2.供电设备基类
package kisaragi.yu.powerBridgeTest;
public class Power {
Equipment equipment;
public void setEquipment(Equipment equipment) {
this.equipment = equipment;
}
public void sendPower() {
equipment.charging();
}
public void closePower() {
equipment.disConnect();
}
}
3.充电宝
package kisaragi.yu.powerBridgeTest;