Facade Pattern
提供一個統一的接口,用來訪問子系統中的一群接口。
外觀模式定義了一個高層接口,讓子系統更容易使用。
Example: 自助餐餐廳
外觀模式會將類別分為兩類:
分別是統一的接口類 (Facade) 與 子系統類 (Subsystem) 。
接口類會提供簡單的接口,供客戶使用。
優點:
因為封裝,解除了客戶與子系統間的耦合關係。
可以透過接口類,來操作子系統中複雜的功能。
缺點:
接口類可能會因為耦合太多子系統,而職責過重。
與其他模式的比較:
[轉接頭模式]:
轉接頭模式將一個接口轉化成另一個接口。
而外觀模式則是提供簡化接口。
兩者的差異不在於包裝了幾個類別,而是在於意圖的不同。
[樣板方法模式]:
樣板方法模式的抽象規則類與實體算法類會實現相同接口。
外觀模式則無此限制。
ʕ •ᴥ•ʔ:外觀模式是封裝的一種高級應用。