收藏
深入淺出外觀模式
外觀模式定義如下:
外觀模式:為子系統中的一組介面提供乙個統一的入口。
外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。
外觀模式又稱為門面模式,它是一種物件結構型模式。
外觀模式是迪公尺特法則的一種具體實現,通過引入乙個新的外觀角色可以降低原有系統的複雜度,同時降低客戶類與子系統的耦合度。
外觀模式包含如下兩個角色:
(1) facade(外觀角色):
在客戶端可以呼叫它的方法,在外觀角色中可以知道相關的(乙個或者多個)子系統的功能和責任;
在正常情況下,它將所有從客戶端發來的請求委派到相應的子系統去,傳遞給相應的子系統物件處理。
(2) subsystem(子系統角色):
在軟體系統中可以有乙個或者多個子系統角色,每乙個子系統可以不是乙個單獨的類,而是乙個類的集合,它實現子系統的功能;
每乙個子系統都可以被客戶端直接呼叫,或者被外觀角色呼叫,它處理由外觀類傳過來的請求;
子系統並不知道外觀的存在,對於子系統而言,外觀角色僅僅是另外乙個客戶端而已。
各個子系統角色
public門面角色class
cpu
public
void
shutdown()
}public
class
disk
public
void
shutdown()
}public
class
memory
public
void
shutdown()
}
public客戶端角色class
computer
public
void
start()
public
void
shutdown()
}
publicclass
client
}
結構型模式 外觀模式
外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式將客戶端與子系統的內部複雜性進行分隔開,使得客戶端只需要與外觀物件打交道,而不需要與子系統內部的很多物件打交道。外觀模式的目的在於減少系統的複雜程度。在物件導向軟體系...
外觀模式 結構型模式
1 基礎知識 定義 提供了乙個統一的介面,用來訪問子系統中的一群介面。特徵 定義了乙個高層介面讓子系統更容易使用 使用場景 子系統複雜,增加外觀模式提供呼叫介面 當構建多層系統時利用外觀物件作為每層的入口簡化層間呼叫。優點 簡化了呼叫過程,無需深入了解子系統 減少系統依賴 鬆散耦合 符合迪公尺特原則...
外觀模式 結構型模式
1 我們可以把幕布 投影儀 折疊椅,看成乙個小的系統,它裡面又有具體的相關操作。2 我們有乙個客戶端,比如開始的時候。我們就去呼叫幕布的開啟方法,投影儀的開啟方法,折疊椅的開啟方法。3 同理我們的中間 結束也都是呼叫相對應的操作方法。這樣存在乙個問題就是 外觀模式理解起來很簡單,就是我們對其提出乙個...