今天给大家介绍桥接模式
桥接模式定义:将抽象部分与它的实现部分分离,使他们可以独立变化。
下面是桥接模式的类图:
下面我们用代码实现
public interface Sourceable {
void method();
}
public class Sourceable1 implements Sourceable{
@Override
public void method() {
System.out.print("这是Sourceable1的方法method");
}
}
public class Sourceable2 implements Sourceable{
@Override
public void method() {
System.out.print("这是Sourceable2的方法method");
}
}
public class Bridge {
private Sourceable sourceable;
public void setSourceable(Sourceable sourceable){
this.sourceable=sourceable;
}
public Sourceable getSourceable(){
return sourceable;
}
public void method(){
if (sourceable!=null){
sourceable.method();
}
}
}
测试类:
public class Test {
public static void main(String[] args) {
Bridge bridge=new Bridge();
bridge.setSourceable(new Sourceable1());
bridge.method();
bridge.setSourceable(new Sourceable2());
bridge.method();
}
}
结果打印:
这是Sourceable1的方法method
这是Sourceable2的方法method
桥接模式优点:提高系统的可拓展性,分离了抽象接口,
缺点:难以理解
java中常用的桥接当属jdbc了,jdbc提供统一的接口,各个数据库厂商自己实现相关功能,提高拓展性