設計模式——結構型

來源:互聯網
上載者:User

    結構型模式,顧名思義討論的是類和對象的結構,它採用繼承機制來組合介面或實現(類結構型模式),

或者通過組合一些對象,從而實現新的功能(對象結構型模式)。

 

常見的結構型模式有七種:

  • Adapter適配器模式
  • Composite組合模式
  • Facade面板模式
  • Decorator裝飾模式
  • Bridge橋接模式
  • Flyweight享元模式
  • Proxy代理模式。

 

我們首先整體瞭解一下七種模式:

Adapter適配器模式

解決的問題:新環境要求的介面是現存對象所不滿足的,此時我們可以通過添加一層Adapter對現有的對象加入

一些介面,使其適應新的應用環境。

 

舉例:筆記本電來源配接器

 

Composite組合模式

解決的問題:

         解決客戶程式與複雜物件容器的解耦,一類具有“容器特徵”的對象——即他們在充當對象的同時,又是其他對象的容器的情況,通過繼承統一的介面,我們可以將容器物件及其子物件看成同一類對象使用,以減少

對象使用中的複雜度。

 

舉例:公司分支管理

 

Facade面板模式

解決的問題:

簡化介面,將客戶程式對子物件的調用與子物件的變化分離。

 

舉例:10086查詢

 

Decorator裝飾模式

解決的問題:

        在穩定介面的前提下為對象擴充功能,主要是解決用繼承的方式為對象擴充大量功能而造成的子物件數量膨脹的問題

 

舉例:一幅畫,可以直接掛到牆上,也可以加上架構和鑲上玻璃後,再掛到牆上。

 

Bridge橋接模式

解決的問題:

      分離介面(抽象)與其實現,當某個類型具有兩個或兩個以上的變化點,通過以繼承介面的方式隔離變化,以減少因變化帶來的代碼的修改量。

 

舉例:電燈開關

 

Flyweight享元模式

解決的問題:主要是解決由於相同對象數量過大而造成系統記憶體開銷過大的問題。

 

舉例:同時設計不同類的網站。

 

Proxy代理模式

解決的問題:解決直接存取某些對象是出現的問題

舉例:中介公司

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.