1. 程式人生 > >設計模式總結之Facade Pattern(外觀模式)

設計模式總結之Facade Pattern(外觀模式)

目錄

建立型設計模式: 結構型設計模式: 行為型設計模式:

Facade Pattern(外觀模式)

意圖

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


適用性

* 當你要為一個複雜子系統提供一個簡單介面時。子系統往往因為不斷演化而變得越來越複雜。大多數模式使用時都會產生更多更小的類。這使得子系統更具可重用性, 也更容易對子系統進行定製,但這也給那些不需要定製子系統的使用者帶來一些使用上的困難。Facade可以提供一個簡單的預設檢視,這一檢視對大多數使用者來 說已經足夠,而那些需要更多的可定製性的使用者可以越過Facade層。
* 客戶程式與抽象類的實現部分之間存在著很大的依賴性。引入Facade將這個子系統與客戶以及其他的子系統分離,可以提高子系統的獨立性和可移植性。
* 當你需要構建一個層次結構的子系統時,使用門面模式定義子系統中每層的入口點。如果子系統之間是相互依賴的,你可以讓它們僅通過Facade進行通訊,從而簡化了它們之間的依賴關係。

結構







Facade
這個外觀類為子系統提供一個共同的對外介面
Clients
客戶物件通過一個外觀介面讀寫子系統中各介面的資料資源。


 例子