Bridge Pattern 後續

來源:互聯網
上載者:User

Abstraction:抽象類別

   定義抽象類別的介面、維護一個Implementor(實作類別的對象)

 RefinedAbstraction:擴充抽象類別

  擴充由Abstraction 定義的介面

Implementor:實現介面

   定義了實作類別的介面,這個介面不一定要與Abstraction的介面完全一致,實際上這兩個介面可以完全不同,一般講,Implementor 介面僅提供基本操作,而Abstraction定義的介面可能會更多操作跟複雜的操作。

ConcreteImplementor 具體實作類別

 實現Implementor介面並且具體實現它

說明:從上邊的類圖不難看出,橋接模式將實現部分抽象成一個類,然後彙總到Abstraction類中,這樣當實現發生變化時,不需要修改Abstraciton類,只要添加相應的ConcreteImplementor即可。在另一端當要功能時只需要添加Abstraction的子類就可以實現。

現在再回頭看看橋接模式定義的那句話,“將抽象與實現部分分離使得他們兩部分都可以獨立地變化”。估計就可以理解了。

應用情景

1.當你想避免抽象方法和其實現方法綁定到一起時(低內聚)

2.抽象介面和它的是想都需要擴充出子類以備使用(可能或有很多個類,或者要修改代碼)

3 變動實現的方法根本不會影響客戶程式的調用部分(甚至不需要重新編譯)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.