設計模式GOF23——橋接模式

橋接模式(bridge)是結構性模式的一種。結構型模式的核心作用是從程序的結構上實現低耦合,從而可以擴大整體的類結構,用來解決更大的問題。

模式的使用場景

一些多層次分類的結合時,由於Java的但繼承,會出現一些問題。
比如,電腦的分類,有筆記本和臺式機,也可以分爲各種廠商的,比如聯想的,戴爾的,以及其他廠商的。交叉分類後需要繼承的對象就多餘一個,這個時候就需要橋接模式。
橋接模式解決了可擴展性的問題而且遵守了單一職責的原則。

模式實現

//第一個維度的分類
interface  Brand{
    //第一個維度的方法
    void brandname();
}
//第二個維度的分類
class Computer{
    //第二個維度的方法
    void sale(){
        //可以寫一部分具體操作
    }
}
//第一個維度的一些實現
class dell implements Brand{

    public void brandname() {
        //第一維度分配的實現方法
    }

}
class Lenovo implements Brand{

    public void brandname() {
        //第一維度分配的實現方法
    }

}
//橋接模式類
class Laptop extends Computer{
    //把第一維度的分類組合進來
    private Brand brand;
    //通過繼承了吧第二維度的分類組合進來
    public Laptop(Brand brand){
        super();
        this.brand = brand;
    }
}
public class Client {

    public static void main(String[] args) {
        //創建對象的時候傳入另一個維度分類的值就可以了。
        Computer c = new Laptop(new Lenovo());
        c.sale();
    }

}

其實這樣組合,可以嵌套第三個,第四個維度,擴展性也不錯

模式核心要點

處理多層繼承機構,處理多維度變化的場景,將各個維度設計獨立的繼承結構,使各個維度的擴展在抽象層建立關聯。

模式在實際開發中的應用

JDBC驅動程序
AWT的Peer結構
銀行日誌管理
人力資源系統中的獎金計算模塊
OA系統中的消息處理

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章