天天看點

※設計模式※→☆結構型模式☆============Facade模式(十二)模式概述模式結構模式讨論模式實作

模式概述

Facade模式又稱門面模式或外觀模式。為一組具有類似功能的類群,比如類庫,子系統等等,提供一個一緻的簡單的接口。這個一緻的簡單的接口被稱作facade。Facade模式要求一個子系統的外部與其内部的通信必須通過一個統一的Facade對象進行。Facade模式提供一個高層次的接口,使得子系統更易于使用。

※設計模式※→☆結構型模式☆============Facade模式(十二)模式概述模式結構模式讨論模式實作

模式結構

※設計模式※→☆結構型模式☆============Facade模式(十二)模式概述模式結構模式讨論模式實作
※設計模式※→☆結構型模式☆============Facade模式(十二)模式概述模式結構模式讨論模式實作

模式讨論

Facade模式為一個複雜子系統提供一個簡單接口,提高子系統的獨立性,在階層化結構中,可以使用Facade模式定義系統中每一層的入口。簡化外部客戶程式和系統間的互動接口。将外部客戶程式的演化和内部子系統的變化之間的依賴互相解耦。

Facade要點總結: (将子系統的變化限制在一個範圍内)

  • 1.從客戶程式的角度來看, Façade 模式簡化了整個元件系統的接口。對于内部和外部客戶程式來說, Façade 模式實作了一種解耦的效果——即内部的子系統的任何變化不會影響到 Façade 接口的變化。
  • 2.Façade 設計模式更注重從架構的層次去看待整個系統,而不是單個類的層次。Façade 很多時候更是一種架構設計模式。
  • 3.Façade 設計模式并非是一個集裝箱,可以任意的放入任何多個對象。Facade模式中元件的内部應該是“互相耦合關系比較大的一系列元件”,而不是簡單的功能集合,以便能夠實作松耦合,高内聚的特性。

相關模式區分:

  • Facade模式注重簡化接口。
  • Adapter模式注重轉換接口。
  • Bridge模式注重分離接口(抽象)與其實作
  • Decorator模式注重穩定接口的前提下為對象擴充功能。

模式實作
※設計模式※→☆結構型模式☆============Facade模式(十二)模式概述模式結構模式讨論模式實作

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

以後的筆記潇汀會盡量詳細講解一些相關知識的,希望大家繼續關注我的部落格。

本節筆記到這裡就結束了。

潇汀一有時間就會把自己的學習心得,覺得比較好的知識點寫出來和大家一起分享。

程式設計開發的路很長很長,非常希望能和大家一起交流,共同學習,共同進步。

如果文章中有什麼疏漏的地方,也請大家指正。也希望大家可以多留言來和我探讨程式設計相關的問題。

最後,謝謝你們一直的支援~~~

       C++完整個代碼示例(代碼在VS2017下測試可運作)

代碼及相關資料下載下傳位址:

              https://gitee.com/arvinxt/DesignPattern

繼續閱讀