????
設(shè)計(jì)模式-外觀模式
外觀模式是為子系統(tǒng)提供一個(gè)接口滑燃,便于它的使用。
外觀模式是什么颓鲜?舉個(gè)生活的例子來說一下表窘,外觀模式好比汽車銷售店的銷售員,只需要和銷售員說自己對(duì)車的需求是什么甜滨。
我們不必管汽車是如何生產(chǎn)的乐严。銷售人員就是外觀角色,生產(chǎn)汽車的每個(gè)步驟是子系統(tǒng)角色艳吠。
?
外觀者角色:銷售人員
子系統(tǒng)角色:沖壓工藝
?子系統(tǒng)角色:焊接工藝
?子系統(tǒng)角色:涂裝工藝
?子系統(tǒng)角色:總裝工藝
?子系統(tǒng)角色:檢測(cè)工藝
?客戶端角色
??????????
Facade類相當(dāng)于其他模塊的外觀界面麦备,有了這個(gè)Facade類,那么客戶端就不需要親自調(diào)用子系統(tǒng)中的其他模塊了昭娩,也不需要知道系統(tǒng)內(nèi)部的實(shí)現(xiàn)細(xì)節(jié)凛篙,甚至都不需要知道其他模塊的存在,客戶端只需要跟Facade類交互就好了栏渺,從而更好地實(shí)現(xiàn)了客戶端和子系統(tǒng)中其他模塊的解耦呛梆,讓客戶端更容易地使用系統(tǒng)。
1
松散耦合
外觀模式松散了客戶端與子系統(tǒng)的耦合關(guān)系磕诊,讓子系統(tǒng)內(nèi)部的模塊能更容易擴(kuò)展和維護(hù)填物。
2
簡(jiǎn)單易用
外觀模式讓子系統(tǒng)更加易用纹腌,客戶端不再需要了解子系統(tǒng)內(nèi)部的實(shí)現(xiàn),也不需要跟眾多子系統(tǒng)內(nèi)部的模塊進(jìn)行交互滞磺,只需要跟外觀類進(jìn)行交互即可升薯。
3
結(jié)構(gòu)清晰
通過合理封裝外觀類,可以幫助系統(tǒng)分好層次击困。這樣每一個(gè)子類都有一個(gè)明確的目的涎劈,可以使代碼更容易維護(hù),隱藏內(nèi)部細(xì)節(jié)阅茶。??????
所謂“實(shí)踐出真知”蛛枚,只有理論結(jié)合實(shí)踐,才能在面臨挑戰(zhàn)時(shí)脸哀,細(xì)心十足地運(yùn)用設(shè)計(jì)模式蹦浦。
—— 小農(nóng)