設計模式十三————橋接模式

橋接模式:將抽象部分與實現部分相分離,使得他們都可以相互獨立的變化。
橋接模式初步理解:手機和軟件之間是相互獨立的,一個手機可以安裝很多軟件,同時一個軟件也可以安裝在很多不同的手機上。手機和軟件之間是一種聚合的關係,而不是繼承,繼承是一種很強的耦合關係。如果手機和軟件之間是繼承的關係,那麼將會生成很多不必要的類。
在這裏插入圖片描述
如果手機和軟件之間是一種聚合的關係,那麼手機和軟件就可以相互獨立開來,各自發展各自的。需要的時候拿過來用就可以了。

在這裏插入圖片描述
code…


核心代碼

抽象類,相當於上述的手機類。其中implementor相當於軟件,軟件可以用多個。在此只寫了一個。

public abstract class Abstraction {
    protected Implementor implementor;
    public Abstraction(Implementor implementor)
    {
        this.implementor=implementor;
    }
    public abstract void operation();
}

實現類的接口:

public interface Implementor {
    public void operationImp();
}

在軟件的設計中,能用組合或聚合是就不要用繼承。只有在兩個類的關係是is-a的時候才用繼承。
在橋接模式中,實現系統可能有多角度分類,每一種分類都有可能變化,那麼就把這種多角度分離出來讓它們獨立變化,減少他們之間的耦合。


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