外觀模式
(facade)
為子系統中的一組介面提供乙個一致的介面,
facade
模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。隱藏系統的複雜性,並向客戶端提供了乙個客戶端可以訪問系統的介面。降低訪問複雜系統的內部子系統時的複雜度。
類圖:在客戶端和複雜系統之間再加一層,將呼叫順序、依賴關係等處理好。舉個例子:我們經常用的電腦,開機其實是個非常複雜的過程,而我們只需要按開機按鈕就可以了。
模擬電腦啟動,假設電腦啟動順序:啟動
cpu,啟動記憶體,啟動硬碟,載入資料等。
1.
public
class
cpu
6. }
1.
public
class
memory
6. }
1.
public
class
disk
6. }
1.
//facade
2.
public
class
computer
13.
14.
public
void
start()
19. }
1.
public
static
void
main
(string
args)
外觀模式優點:
適用場景:
C 設計模式 外觀模式詳解
外觀模式 要求乙個子系統與外部通訊必須通過乙個同一的系統完成,也就是把一系列的子系統封裝在乙個同一的大系統中。子系統中的所有呼叫行為都是通過大系統提供同一的介面來完成。在乙個繪圖系統中,需要繪製各種這樣的圖形,比如說是矩形 圓形 直線等。那好我們就根據以上場景搭建乙個簡單的繪製場景。首先把各種繪製的...
設計模式詳解(十一) 外觀模式
今天我們來介紹外觀模式,考慮外觀模式較為簡單且非常常見 平時開發中所處可見 就直接開門見山。外觀模式 facade pattern 又叫作門面模式,是一種通過為多個複雜的子系統提供乙個一致的介面,而使這些子系統更加容易被訪問的模式。該模式對外有乙個統一介面,外部應用程式不用關心內部子系統的具體細節,...
C 設計模式 Facade 外觀模式詳解
外觀模式的適用場景 外觀模式的優缺點 在軟體開發中,有時候為了完成一項較為複雜的功能,乙個客戶類需要和多個業務類互動,而這些需要互動的業務類經常會作為乙個整體出現,由於涉及到的模擬較多,導致使用時 較為複雜,此時,特別需要乙個類似服務員一樣的角色,由它來負責和多個業務類進行互動,而客戶類只需與該類互...