C 設計模式 外觀模式

2022-02-24 07:44:08 字數 2417 閱讀 1338

0.c#設計模式--簡單工廠模式

1.c#設計模式--工廠方法模式

2.c#設計模式--抽象工廠模式

3.c#設計模式--單例模式

4.c#設計模式--建造者模式

5.c#設計模式--原型模式

6.c#設計模式--設配器模式

7.c#設計模式--裝飾器模式

8.c#設計模式--**模式

外觀模式(facade pattern):

外觀模式(facade)的定義:為子系統中的一組介面提供乙個一致的介面,用來訪問子系統中的一群介面。

比如呼叫子系統1和子系統2的print方法,如果沒有外觀模式那麼你需要乙個個的呼叫,子系統如果是少還好,多了就要瘋了,這裡就可以使用外觀模式,呼叫外觀模式對外提供的方法一次性完成對子系統的層層呼叫

生活例項:比如筆記本是乙個整體,看似是一件東西,實際上只是將主機和顯示器組裝在一起而已,對外提供乙個電源按鈕,當按下電源按鈕的時候,啟動了主機和顯示器,這裡的這個電源按鈕就差不多是外觀模式。對外只提供了乙個電源按鈕。

外觀模式組成:

facade:負責子系統的的封裝呼叫

subsystem classes:具體的子系統,實現由外觀模式facade物件來呼叫的具體任務

///子系統1

3///

4public

class

subsystem1

510 }

1

///2

///子系統2

3///

4public

class

subsystem2

513 }

1

///2

///外觀模式對外介面類

3///

4public

class

facade514

15public

void

print()

1620 }

1

///2

///客戶端測試類

生活例項:比如筆記本是乙個整體,看似是一件東西,實際上只是將主機和顯示器組裝在一起而已,對外提供乙個電源按鈕,當按下電源按鈕的時候,啟動了主機和顯示器,這裡的這個電源按鈕就差不多是外觀模式。對外只提供了乙個電源按鈕。

假設筆記本是由來個子系統:顯示器和主機組成

當按下電源按鈕,開啟主機和顯示器

///筆記本顯示器

3///

4public

class

pc_monitor510

public

void

close()

1114 }

1

///2

///筆記本主機

3///

4public

class

pc_host510

public

void

close()

1114 }

1

///2

///筆記本對外介面類

C 設計模式 外觀模式

目錄 基本概念 與例項 外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。增加外觀facade可以提供乙個簡單的介面,減少它們之間的依賴 為新系統開發乙個外觀facade類,來提供設計粗糙或高度複雜的遺留 的比較清晰簡單的介...

C 設計模式 外觀模式

為子系統中的一組介面提供乙個一致的介面 facade 外觀角色,是在客戶端直接呼叫的角色,在外觀角色中可以知道相關的 乙個或者多個 子系統的功能和責任,它將所有從客戶端發來的請求委派到相應的子系統去,傳遞給相應的子系統物件處理 subsystem 子系統角色,每乙個子系統可以不是乙個單獨的類,而是乙...

C 設計模式 外觀模式

在軟體開發過程中,客戶端程式經常會與複雜系統的內部子系統進行耦合,從而導致客戶端程式隨著子系統的變化而變化,然而為了將複雜系統的內部子系統與客戶端之間的依賴解耦,從而就有了外觀模式,也稱作 門面 模式。下面就具體介紹下外觀模式。一 外觀 facade 模式 外觀模式提供了乙個統一的介面,用來訪問子系...