What
外觀模式(Facade Pattern)隱藏系統的複雜性,並向客戶端提供了一個客戶端可以訪問系統的接口。它向現有的系統添加一個接口,來隱藏系統的複雜性。
這種模式涉及到一個單一的類,該類提供了客戶端請求的簡化方法和對現有系統類方法的委託調用。
Why
爲子系統中的一組接口提供一個一致的界面,外觀模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。
降低訪問複雜系統的內部子系統時的複雜度,簡化客戶端與之的接口。
- 減少相互依賴
- 更靈活
- 更安全
- 子系統相對獨立
- 預防低水平碼農帶來風險
How
客戶端不與系統耦合,外觀類與系統耦合。
實現多個子系統,創建一個外觀類,外觀類提供函數實現功能。其他成員通過外觀類間接調用各個系統類。
在層次化結構中,可以使用外觀模式定義系統中每一層的入口。