設計模式之外觀模式

2021-10-17 11:18:20 字數 1181 閱讀 2585

(1)外觀模式(facade),也叫「過程模式:外觀模式為子系統中的一組介面 提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用

(2)外觀模式通過定義乙個一致的介面,用 以遮蔽內部子系統的細節,使得 呼叫端只需跟這個介面發生呼叫,而無需關心這個子系統的內部細節

對類圖說明(分類外觀模式的角色)

外觀類(facade): 為呼叫端提供統一的呼叫介面, 外觀類知道哪些子系統負責處理請求,從而將呼叫端的請求代

理給適當子系統物件

呼叫者(client): 外觀介面的呼叫者

子系統的集合:指模組或者子系統,處理 facade 物件指派的任務,他是功能的實際提供者

// 子系統01

public

class

subsystem01

}// 子系統02

public

class

subsystem02

}// 子系統03

public

class

subsystem03

}// 外觀類

public facade

public

void

methoda()

public

void

methodb()

}// client

public

class

client

}

外觀模式的注意事項和細節

外觀模式 對外遮蔽了子系統的細節,因此外觀模式降低了客戶端對子系統使用的複雜性

外觀模式對客戶端與子系統的耦合關係 - 解耦,讓子系統內部的模組更易維護和擴充套件

通過合理的使用外觀模式,可以幫我們更好的 劃分訪問的 層次

當系統需要進行分層設計時,可以考慮使用 facade 模式

在維護乙個遺留的大型系統時,可能這個系統已經變得非常難以維護和擴充套件,此時可以考慮為新系統開發乙個

facade 類,來提供遺留系統的比較清晰簡單的介面,讓新系統與 facade 類互動,提高復用性

不能過多的或者不合理的使用外觀模式,使用外觀模式好,還是直接呼叫模組好。要以讓系統有層次,利於維

護為目的。

設計模式之外觀模式

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

設計模式之外觀模式

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

設計模式之外觀模式

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