為子系統中的一組介面提供乙個統一的介面。facade模式定義了乙個更高層的介面,使系統更容易使用。
facade模式
關鍵特徵
意圖希望簡化 原系統的使用方式 。需要定義自己的介面
問題只要使用某個系統的子集,或者,需要以一種特殊的方式與原系統互動
解決方案
facade模式為原有系統的客戶提供了乙個新的介面
參與者與協作者
為客戶提供乙個簡化的介面,使系統更容易使用
效果facade模式簡化了對所需子系統的使用過程,但是,由於facade並不完整,因此客戶可能無法使用某些功能
實現1、定義乙個(或多個)具備所需介面的新類
2、讓新的類使用原有系統
facade模式允許在新類中加入一些新的功能。(這樣就不僅僅是使用系統的部分功能了。)
facade還可以用來隱藏和封裝系統,即將子系統作為私有成員包含進來。
facade模式使用的原因:
1、跟蹤系統使用情況
2、改換系統
ps:facade模式——外觀模式,其命名原因:在原系統之前放入了乙個新的介面(即外觀)。
參考《設計模式解析》第二版
設計模式(二) 外觀模式 Facade
設計模式 二 外觀模式 facade 為了解決子系統外部的客戶端在使用子系統的時候,既能簡單地使用這些子系統內部的模組功能,而又不用客戶端去與子系統內部的多個模組互動的問題。為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式就是通過引入乙...
設計模式 外觀模式(Facade)
外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面。我們以乙個計算機的啟動過程為例 cpu類 public class cpu public void...
設計模式 外觀 Facade 模式
insus.net在去年有寫過一篇 軟體研發公司,外觀設計模式 facade 例中寫得過於簡單與抽象。沒有實質內容似的。這次想再寫乙個。希望能再次加強。為子系統中的一組介面提供乙個統一的高層介面,使客戶使用子系統更容易這是外觀 facade 模式的精髓。在實現之前,可以先看看這篇 web控制項文字框...