1. 程式人生 > >門面模式 (Facade Pattern)

門面模式 (Facade Pattern)

文件地址:《設計模式之禪》​​​​​​​

切入故事:我要投遞信件

定義: Provide a unified interface to a set of interfaces in a subsystem.Facade defines a higher-level interface that makes the subsystem easier to use.(要求一個子系統的外部與其內部的通訊必須通過一個統一的物件進行。 門面模式提供一個高層次的介面, 使得子系統更易於使用。 )

通用類圖:

                

                 ● Facade門面角色

                        客戶端可以呼叫這個角色的方法。 此角色知曉子系統的所有功能和責任。

                 ● subsystem子系統角色

                        可以同時有一個或者多個子系統。 每一個子系統都不是一個單獨的類, 而是一個類的集合。

優點:

                 ● 減少系統的相互依賴

                 ● 提高了靈活性

                 ● 提高安全性

缺點: 門面模式最大的缺點就是不符合開閉原則, 對修改關閉, 對擴充套件開放,遇到問題只能進行修改門面角色。

使用場景:

                ● 為一個複雜的模組或子系統提供一個供外界訪問的介面

                ● 子系統相對獨立——外界對子系統的訪問只要黑箱操作即可

                ● 預防低水平人員帶來的風險擴散