外觀模式:
為子系統定義一組統一的介面,這個高階的介面會讓子系統更容易被使用
比如汽車內部有許多子系統; 引擎系統 傳動系統 懸吊系統 等 駕駛者只需要通過高階介面(方向盤 踏板 儀錶盤)就可以輕易操控汽車
優點:1,節省時間,減少系統耦合度(系統構建時間)
2,易於分工開發,開發者只需要了解對方負責系統的facade介面類,不必深入了解其中的執行方式
3,增加系統的安全性
重點:能將系統內部的互動細節隱藏起來,並提供乙個簡單方便的介面,就可以操作乙個複雜系統並讓他們順利執行
外觀模式:可用於遊戲主程式。。。。
注意:由於將所有子類集中在facade介面類中,最終會導致facade介面類過於龐大且難以維護,這種情況下,
可以重構facade類,將功能相近的子系統進行整合,以減少內部系統的依賴性
或者整合其他設計模式來減少facade介面類過度膨脹
client:客戶端 使用者
facade:統一對外的介面
1,整合所有子系統的介面及功能,並提供高階介面(或介面)供客戶端使用
2,接受客戶端的資訊後,將資訊傳送給負責的子系統
subsystem***:子系統
原本會由不同的客戶端來操作,改為只會由內部系統之間互動使用
結論:將複雜的子系統交給單一的乙個類負責,並提供單一介面給客戶端使用,使客戶端減少對系統的耦合度是外觀模式的優點
二 外觀模式
外觀模式也比較簡單。外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易的使用。通過上面對外觀模式的描述,很容易就想到zuul閘道器,通過閘道器的一系列呼叫來達到實現某個目標的需求。外觀模式也是一樣的。外界的呼叫者不用知道呼叫的具體...
狀態模式與外觀模式的碰撞
炎熱的季節又來到了,收拾櫥子整理衣服,發現冬天的大棉服還沒有收拾,到底是手洗呢?還是送到洗衣店呢?真的是愁啊?愁?送到洗衣店不用自己動手,只要交上money就一切解決,是方便了,可是心疼那些錢啊,偷懶的同時心情也不是很好 不送到洗衣店,自己動手來解決,心情也不是很好,因為還得自己動手啊!面對那麼厚的...
設計模式(二) Facade模式(外觀模式)
為子系統中的一組介面提供乙個統一的介面。facade模式定義了乙個更高層的介面,使系統更容易使用。facade模式 關鍵特徵 意圖希望簡化 原系統的使用方式 需要定義自己的介面 問題只要使用某個系統的子集,或者,需要以一種特殊的方式與原系統互動 解決方案 facade模式為原有系統的客戶提供了乙個新...