設計模式之外觀模式

2021-08-08 10:31:41 字數 829 閱讀 1204

為複雜的系統提供簡單的訪問介面來供外部呼叫,避免直接與系統內部交涉而產生的問題

未使用外觀模式的系統示意圖:

使用外觀模式的系統示意圖:

其實很容易比較兩種方式的優缺點:

1)未使用外觀模式:系統呼叫關係繁雜,還很難保證呼叫關係不會出錯;對子系統的侵入性太強;後期維護麻煩。

2)使用外觀模式:外部系統統一使用模板介面進行呼叫,開發者主要關注模板介面的開發即可;減少對子系統侵入性;減輕後期維護難度。

根據《大話設計模式》一書的整理:在乙個完整專案開發周期中,可能會在三個階段使用到外觀模式,具體如下:

在專案設計初期,有意識將不同的兩個層進行分離。比如經典的三層模型中,層與層之間通過介面進行呼叫,降低各層之間的耦合度。

在專案開發階段,子系統會隨著專案的不斷重構演化而變得越來越複雜,這對專案本身來說是一件好事,但是對外部系統呼叫程式來說,並不是一件好事,所以增添外觀模式,提供乙個簡單的系統呼叫介面顯得尤為重要。

在專案維護階段,當專案開發至一定程度時,可能系統已經很難維護和擴充套件,直接在原有**的基礎上進行專案重構顯然是不成熟的做法,我們可以對原有系統進行整理和歸納,使用外觀模式開發乙個新的facade類,來呼叫原有系統底層,實現專案重構包裝。說個開發的題外話,乙個系統的功能可以很多,但千萬不能亂,系統功能亂了,就全毀了。這有個標準,自己負責的模組可以很輕鬆地畫出執行流程圖。

設計模式之外觀模式

外觀模式提供了乙個統一的介面,用來訪問子系統中的一群介面。這樣可以避免客戶端和子系統之間的緊耦合。這種模式需要將一系列的子系統組合到外觀中,然後將具體的工作交給各個子系統去完成。如此一來,可以簡化介面的呼叫。其本質就是將系統與客戶端互動的地方封裝起來。這個模式,總體來說,很簡單,理解起來也不困難。依...

設計模式之外觀模式

外觀模式 為子系統中的一組介面提供乙個一直的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。即通過乙個中類來完成客戶端的請求。拿機房收費系統的上機過程來說,上機需要顯示上機者的資訊,填寫上機狀態表,填寫上機記錄表。而使用者不需要知道這些功能是怎麼實現的,只需要通過介面操作就可以完...

設計模式之外觀模式

外觀模式,為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。在設計初期階段,應該要有意識的將不同的兩個層分離,比如經典的三層架構,層與層之間建立外觀facade。在開發階段,子系統往往因不斷的重構演化而變得越來越複雜,增加外觀模式可以提供乙個簡單的...