23種設計模式(十二)介面隔離之門面模式
介面隔離模式:在元件構建過程中,某些介面之間直接的依賴常常會帶來很多問題、甚至根本無法實現。採用新增一層間接(穩定)介面,來隔離本來互相緊密關聯的介面是一種常見的解決方案。
軟體設計的很重要一個思路就是間接的思想。
- 系統間耦合的複雜度
上述A方案的問題在於元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和各子系統的演化,這種過多的耦合面臨很多變化的挑戰。
好的方案是提出一層間接層Facade
。
模式定義
為子系統中的一組介面提供一個一致(穩定)的介面,Facade
模式定義了一個高層介面,這個介面使得這一子系統更加容易使用(複用)。
要點總結
從客戶程式的角度來看,Facade
模式簡化了整個元件系統的介面,對於元件內部與外部客戶程式來說,達到了一種“解耦”的效果–內部子系統的變化不會影響到Facade
介面的變化。
Facade
設計模式更注重從架構的層次去看整個系統,而不是單個類的層次。Facade
很多時候更是一種架構設計模式。
Facade
設計模式並非一個集裝箱,可以任意地放進任何多個物件。Facade
設計模式中元件的內部應該是“相互耦合關係比較大的一系列元件“,而不是一個簡單的功能集合。對外鬆耦合,對內高內聚。
相關文章
- 23種設計模式之介面卡模式設計模式
- java23種設計模式-門面模式(外觀模式)Java設計模式
- 設計模式:介面隔離原則設計模式
- 嘻哈說:設計模式之介面隔離原則設計模式
- 23種設計模式之組合模式設計模式
- 23種設計模式之直譯器模式設計模式
- 23種設計模式之——動態代理模式設計模式
- 設計模式例項講解 - 介面隔離設計模式
- 設計模式之門面模式設計模式
- java23種設計模式——六、介面卡模式Java設計模式
- 淺談23種設計模式之單例設計模式設計模式單例
- 23種設計模式之模板方法設計模式
- 畫江湖之23種設計模式設計模式
- 23種設計模式之代理模式(靜態代理)設計模式
- 23種設計模式設計模式
- 設計模式之【門面模式(外觀模式)】設計模式
- 23種設計模式(八)-原型設計模式設計模式原型
- 23種設計模式(二)---策略設計模式設計模式
- 23種設計模式(四)-代理模式設計模式
- 【重溫23種設計模式】之工廠方法模式設計模式
- 23種設計模式之抽象工廠設計模式抽象
- Java設計模式之(九)——門面模式Java設計模式
- 23種設計模式(七)-狀態設計模式設計模式
- 23種設計模式(四)- 模板方法設計模式設計模式
- 23種設計模式-原型模式(3)設計模式原型
- 【23種設計模式】外觀模式(十)設計模式
- 23種設計模式:03裝飾模式設計模式
- 23種設計模式(抽象工廠模式)設計模式抽象
- 23種設計模式(六)單一職責之橋模式設計模式
- 23天設計模式之代理模式設計模式
- 23種設計模式(六)-責任鏈設計模式設計模式
- GOF23--23種設計模式(一)Go設計模式
- 23種設計模式簡介設計模式
- 23種軟體設計模式設計模式
- 23種設計模式(三)--裝飾器模式設計模式
- 【圖解設計模式系列】23句話總結23種設計模式圖解設計模式
- 23天設計模式之迭代器模式設計模式
- 3D程式設計模式:依賴隔離模式3D程式設計設計模式