外觀模式:提供了乙個統一的介面,用來訪問子系統中的一群介面。外觀定義了乙個高層介面,讓子系統更容易使用。
場景:有乙個家庭影院,裡面有爆公尺花機,投影,***機,音響等,然後等我們要開始享觀賞電影的時候,我們不得不執行開啟爆公尺花機,開始爆公尺,關閉爆公尺花機,關閉燈,放在投影....等等一系列操作,然後觀賞完電影,還有在關閉這些東西,這多累人啊。這時候,我們就可以利用外觀模式,提供乙個合理的介面的外觀類,讓你只需一鍵完成一系列操作。下面我們看下**的實現
首先我們建立一系列子系統
//接著我們建立乙個外觀模式的介面爆公尺花類
public
class
popper
public
void
pop()
public
void
off()}//
電燈類public
class
light
public
void
off()}//
投影類public
class
projector
public
void
close()}//
音響類public
class
stereo
public
void
off()
public
void
set***()
public
void
setsurroundsound()}//
***類
public
class
***
public
void
play()
public
void
off()
public
void
remove***()}//
螢幕類public
class
screen
public
void
down()
}
//最後我們來進行測試,也就是客戶類設定乙個介面homemoviefacade來連線客戶和元件(音響、***)之間的操作
public
class
homemoviefacade
//開始享受家庭影院,這方法將我們之前每次需要手動處理的任務都交給子系統處理了。
public
void
watchmovie(string movie)
//享受完關閉影院
public
void
endmovie()
}
public下面是執行的結果class
test
}
好了,這就是乙個簡單的外觀模式的使用範例了。最後說下裝飾者、介面卡、外觀這三個模式的區別。裝飾者意圖是不改變介面,但加入責任,介面卡是將乙個介面轉成另乙個介面,而外觀是為了讓介面更簡單。
下一節:模板方法模式
設計模式 外觀模式
外觀模式,我的理解就是將複雜的類進行重新封裝,將簡單的介面呈現出來,降低呼叫端和實際類的耦合性。拿 大話設計模式 上邊關於 和 的例子來說。對於不入門的股民來說,交易有些過於龐大,需要學習的東西很多,如果沒整明白就進行投資,很容易賠錢的。很多剛入 的股民都賠的很慘。而買 有提出了乙個新的觀念,我們買...
設計模式 外觀模式
何為外觀模式?外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得一子系統更加容易使用。它是一種結構型模式,它主要解決的問題是 元件的客戶和元件中各種複雜的子系統有了過多的耦合,隨著外部客戶程式和 各子系統的演化,這種過多的耦合面臨很多變化的挑戰。uml類圖 乙個...
設計模式 外觀模式
外觀模式說白了就是為一組介面提供乙個一致的介面。例如 定義三個類a b c,每個類各定義乙個方法。class a pubic void showa cout a showa pubic void showb cout b showb pubic void showc cout c showc 定義乙...