1、我們可以把幕布、投影儀、折疊椅,看成乙個小的系統,它裡面又有具體的相關操作。
2、我們有乙個客戶端,比如開始的時候。我們就去呼叫幕布的開啟方法,投影儀的開啟方法,折疊椅的開啟方法。
3、同理我們的中間、結束也都是呼叫相對應的操作方法。
這樣存在乙個問題就是:
外觀模式理解起來很簡單,就是我們對其提出乙個操作類,讓使用者去操作我們的操作類。不讓其直接使用對應的方法。在上面的例子中,使用者只需要知道我們有三個方法就好了。開始、中間、結束至於這裡面具體的操作我們使用者不需要知道。
注:幕布、投影儀、折疊椅都是使用單例模式進行構造
curtain(幕布)
public
class
curtain
private
static
final curtain curtain =
newcurtain()
;public
static curtain getcurtain()
// 開啟幕布
public
void
opencurtain()
// 開啟幕布
public
void
closecurtain()
}
projector(投影儀)
public
class
projector
private
static
final projector projector =
newprojector()
;public
static projector getprojector()
// 開啟投影儀
public
void
openprojector()
public
void
startplaying()
// 開啟投影儀
public
void
closeprojector()
}
foldingchair (折疊椅)
public
class
foldingchair
private
static
final foldingchair foldingchair =
newfoldingchair()
;public
static foldingchair getfoldingchair()
// 開啟投影儀
public
void
openfoldingchair()
// 開啟投影儀
public
void
closefoldingchair()
}
movie (電影 我們的中間層)
public
class
movie
// 中間
public
void
middle()
// 結束
public
void
end(
)}
測試
結構型模式 外觀模式
外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式將客戶端與子系統的內部複雜性進行分隔開,使得客戶端只需要與外觀物件打交道,而不需要與子系統內部的很多物件打交道。外觀模式的目的在於減少系統的複雜程度。在物件導向軟體系...
外觀模式 結構型模式
1 基礎知識 定義 提供了乙個統一的介面,用來訪問子系統中的一群介面。特徵 定義了乙個高層介面讓子系統更容易使用 使用場景 子系統複雜,增加外觀模式提供呼叫介面 當構建多層系統時利用外觀物件作為每層的入口簡化層間呼叫。優點 簡化了呼叫過程,無需深入了解子系統 減少系統依賴 鬆散耦合 符合迪公尺特原則...
結構型模式 外觀模式
收藏 深入淺出外觀模式 外觀模式定義如下 外觀模式 為子系統中的一組介面提供乙個統一的入口。外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式又稱為門面模式,它是一種物件結構型模式。外觀模式是迪公尺特法則的一種具體實現,通過引入乙個新的外觀角色可以降低原有系統的複雜度,同時降低...