1. 程式人生 > >設計模式(二)【Facade模式(外觀模式)】

設計模式(二)【Facade模式(外觀模式)】

Facade模式(外觀模式)

為子系統中的一組介面提供一個統一的介面。Facade模式定義了一個更高層的介面,使系統更容易使用。

Facade模式 關鍵特徵
意圖 希望簡化 原系統的使用方式 。需要定義自己的介面
問題 只要使用某個系統的子集,或者,需要以一種特殊的方式與原系統互動
解決方案 Facade模式為原有系統的客戶提供了一個新的介面
參與者與協作者 為客戶提供一個簡化的介面,使系統更容易使用
效果 Facade模式簡化了對所需子系統的使用過程,但是,由於Facade並不完整,因此客戶可能無法使用某些功能
實現 1、定義一個(或多個)具備所需介面的新類
2、讓新的類使用原有系統

Facade模式允許在新類中加入一些新的功能。(這樣就不僅僅是使用系統的部分功能了。)
Facade還可以用來隱藏和封裝系統,即將子系統作為私有成員包含進來。

Facade模式使用的原因:
1、跟蹤系統使用情況
2、改換系統

PS:Facade模式——外觀模式,其命名原因:在原系統之前放入了一個新的介面(即外觀)。

參考《設計模式解析》第二版