Java設計模式之-橋接模式

Java設計模式之-橋接模式

橋接模式就是把事物和其具體實現分開,使他們可以各自獨立的變化。橋接的用意是:將抽象化與實現化解耦,使得二者可以獨立變化,像我們常用的JDBC橋DriverManager一樣,JDBC進行連接數據庫的時候,在各個數據庫之間進行切換,基本不需要動太多的代碼,甚至絲毫不用動,原因就是JDBC提供統一接口,每個數據庫提供各自的實現,用一個叫做數據庫驅動的程序來橋接就行了。我們來看看關係圖:

這裏寫圖片描述

示例代碼:

public class BridgeTest {

    public static void main(String[] args) {

        Bridge bridge=new MyBridge();

        // 調用第一個對象
        Sourceable3 source1=new SourceSub1();
        bridge.setSource(source1);
        bridge.method();

        // 調用第二個對象
        Sourceable3 source2=new sourceSub2();
        bridge.setSource(source2);
        bridge.method();    
    }
}

interface Sourceable3
{
    public void method();
}

class SourceSub1 implements Sourceable3
{

    @Override
    public void method() {
        System.out.println("this is sourceSub1's method");
    }
}

class sourceSub2 implements Sourceable3
{

    @Override
    public void method() {
        System.out.println("this is sourceSub2's method");      
    }
}

// 定義一個橋,持有Sourceable的一個實例:
abstract class Bridge
{
    private Sourceable3 source;
    public void method(){
        source.method();
    }
    public Sourceable3 getSource(){
        return source;
    }
    public void setSource(Sourceable3 source){
        this.source=source;
    }
}

class MyBridge extends Bridge{
    public void method(){
        getSource().method();
    }
}

輸出結果:

this is sourceSub1's method
this is sourceSub2's method

這樣,就通過對Bridge類的調用,實現了對接口Sourceable的實現類SourceSub1和SourceSub2的調用。

發佈了61 篇原創文章 · 獲贊 7 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章