結構型模式 外觀

2021-10-13 07:10:41 字數 709 閱讀 9374

為子系統中的一組介面提供乙個一致的介面。facade模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。

外觀模式,即facade,是乙個比較簡單的模式。它的基本思想如下:

如果客戶端要跟許多子系統打交道,那麼客戶端需要了解各個子系統的介面,比較麻煩。如果有乙個統一的「中介」,讓客戶端只跟中介打交道,中介再去跟各個子系統打交道,對客戶端來說就比較簡單。所以facade就相當於搞了乙個中介。

我們以註冊公司為例,假設註冊公司需要三步:

向工商局申請公司營業執照;

在銀行開設賬戶;

在稅務局開設納稅號。

以下是三個系統的介面:

// 工商註冊:

public class adminofindustry

}// 銀行開戶:

public class bank

}// 納稅登記:

public class taxation

}

如果子系統比較複雜,並且客戶對流程也不熟悉,那就把這些流程全部委託給中介:

public class facade {

public company opencompany(string name) {

company c = this.admin.register(name)

結構型模式 外觀

結構圖 模式說明 擴充套件點在subsystem集合。增加乙個具體的子系統後,可能但不一定需要修改fa ade外觀類。客戶端需要知道具體哪乙個fa ade外觀類。客戶端不需要關係到底哪個subsystem類負責fa ade外觀類的何種任務。外子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高...

結構型模式 外觀模式

外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式將客戶端與子系統的內部複雜性進行分隔開,使得客戶端只需要與外觀物件打交道,而不需要與子系統內部的很多物件打交道。外觀模式的目的在於減少系統的複雜程度。在物件導向軟體系...

外觀模式 結構型模式

1 基礎知識 定義 提供了乙個統一的介面,用來訪問子系統中的一群介面。特徵 定義了乙個高層介面讓子系統更容易使用 使用場景 子系統複雜,增加外觀模式提供呼叫介面 當構建多層系統時利用外觀物件作為每層的入口簡化層間呼叫。優點 簡化了呼叫過程,無需深入了解子系統 減少系統依賴 鬆散耦合 符合迪公尺特原則...