外觀模式

Facade Pattern

提供一個統一的接口,用來訪問子系統中的一群接口。

外觀模式定義了一個高層接口,讓子系統更容易使用。

Example: 自助餐餐廳


外觀模式會將類別分為兩類:
分別是統一的接口類 (Facade)子系統類 (Subsystem)

接口類會提供簡單的接口,供客戶使用。


優點:
因為封裝,解除了客戶與子系統間的耦合關係。
可以透過接口類,來操作子系統中複雜的功能。

缺點:
接口類可能會因為耦合太多子系統,而職責過重。

與其他模式的比較:
[轉接頭模式]:
轉接頭模式將一個接口轉化成另一個接口。
而外觀模式則是提供簡化接口

兩者的差異不在於包裝了幾個類別,而是在於意圖的不同

[樣板方法模式]:
樣板方法模式的抽象規則類與實體算法類會實現相同接口
外觀模式則無此限制。

ʕ •ᴥ•ʔ:外觀模式是封裝的一種高級應用。