結(jié)構(gòu)型設(shè)計模式.外觀模式

一、概念

其目的在于降低系統(tǒng)的復(fù)雜程度!

1.1、定義

又叫門面模式,隱藏系統(tǒng)的復(fù)雜性,并向客戶端提供了一個客戶端可以訪問系統(tǒng)的接口,讓子系統(tǒng)更容易使用。

Fecade.png

  • 已經(jīng)存在的子系統(tǒng)群或者子模塊:SubSystemA 、SubSystemB、SubSystemC...
  • Facade,裝飾類:核心類,負(fù)責(zé)向客戶提供“門面接口”
1.2、解決的問題
外觀模式.jpg
  • 問題分析:如圖,實際系統(tǒng)已經(jīng)有很多舊系統(tǒng)或者模塊,開發(fā)中需要訪問這些子系統(tǒng)或者模塊,這會造成調(diào)用關(guān)系復(fù)雜,調(diào)試開發(fā)困難,難以維護等問題。
  • 模式的解決思路:抽離單獨層,外觀類Facade,專門負(fù)責(zé)各個子系統(tǒng)或者模塊調(diào)用,一次來降低訪問復(fù)雜系統(tǒng)的內(nèi)部子系統(tǒng)時的復(fù)雜度,簡化客戶端與之的接口。

二、模式的應(yīng)用和優(yōu)缺點

2.1、應(yīng)用場景
  • 實例:
    1、醫(yī)院看病導(dǎo)診臺:去醫(yī)院看病,可能要去掛號、門診、劃價、取藥,讓患者或患者家屬覺得很復(fù)雜,如果有提供接待人員,只讓接待人員來處理,就很方便。
    2、windows的窗口系統(tǒng),就是外觀模式的例子。如關(guān)閉窗口功能,可能設(shè)計數(shù)據(jù)管理對象保存數(shù)據(jù),窗口管理對象擦除界面,內(nèi)存管理對象釋放內(nèi)存,這些對象都很復(fù)雜,但是通過外觀模式,調(diào)用者只需要window.close()。
2.2、優(yōu)缺點
  • 優(yōu)點:
    1、減少系統(tǒng)相互依賴。 2、提高靈活性。 3、提高了安全性。

  • 缺點:
    不符合開閉原則,如果要改東西很麻煩,繼承重寫都不合適。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容