結構型模式 外觀模式

2021-09-14 07:33:47 字數 1371 閱讀 2549

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

外觀模式將客戶端與子系統的內部複雜性進行分隔開,使得客戶端只需要與外觀物件打交道,而不需要與子系統內部的很多物件打交道。

外觀模式的目的在於減少系統的複雜程度。在物件導向軟體系統中,類與類之間的關係越多,可能會導致耦合性變大,這樣的話,系統在維護和修改時都缺乏靈活性。

外觀模式不能很好的限制客戶使用子系統類,如果對客戶訪問子系統類做太多的限制將降低系統的可變性。

當要為乙個複雜子系統提供乙個簡單的介面時。

facade表示外觀角色,客戶端可以呼叫這個角色的方法,此角色知道相關的(乙個或多個)子系統的功能和責任。將所有從客戶端發來的請求委派到相應的子系統中去,傳遞給子系統物件進行處理。subsystem表示子系統角色,乙個系統可以有乙個或多個子系統角色。處理有外觀類傳遞過來的任務。

subsystem_1

public class subsystem_1 

}

subsystem_2

public class subsystem_2 

}

subsystem_3

public class subsystem_3 

}

subsystem_4

public class subsystem_4 

}

public class facade 

public void showmethod()

}

public class client 

}

子系統方法1

子系統方法2

子系統方法3

子系統方法4

沒有什麼好說的,就是將子系統類方法的呼叫整到外觀類中了。

外觀模式 結構型模式

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

外觀模式 結構型模式

1 我們可以把幕布 投影儀 折疊椅,看成乙個小的系統,它裡面又有具體的相關操作。2 我們有乙個客戶端,比如開始的時候。我們就去呼叫幕布的開啟方法,投影儀的開啟方法,折疊椅的開啟方法。3 同理我們的中間 結束也都是呼叫相對應的操作方法。這樣存在乙個問題就是 外觀模式理解起來很簡單,就是我們對其提出乙個...

結構型模式 外觀模式

收藏 深入淺出外觀模式 外觀模式定義如下 外觀模式 為子系統中的一組介面提供乙個統一的入口。外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式又稱為門面模式,它是一種物件結構型模式。外觀模式是迪公尺特法則的一種具體實現,通過引入乙個新的外觀角色可以降低原有系統的複雜度,同時降低...