在以前不懂設(shè)計(jì)模式的歲月中,我總是對(duì)著各種語(yǔ)言框架中的那個(gè)Facades
模塊不知所措。當(dāng)對(duì)設(shè)計(jì)模式有了一定的了解以后,提升的不僅僅是自己寫(xiě)代碼時(shí)的所思所想,對(duì)于框架的理解程度,和學(xué)習(xí)框架的速度也會(huì)上一個(gè)臺(tái)階。
Facade模式主要是為了解決開(kāi)發(fā)中各個(gè)子系統(tǒng)之間的緊密耦合的問(wèn)題。 這是一個(gè)來(lái)自《設(shè)計(jì)模式的藝術(shù)》中的一幅圖,很生動(dòng)的展示了什么時(shí)候應(yīng)該使用Facade模式。一圖勝過(guò)千言萬(wàn)語(yǔ)。
類(lèi)比生活中的例子,我覺(jué)得Facade模式就像裝修公司,如果沒(méi)有裝修公司,我們需要自己找瓦工,電工,水暖工等各種工種,還要自己去建材市場(chǎng)買(mǎi)裝修材料,經(jīng)常裝修一趟下來(lái)身心疲憊。當(dāng)我們委托裝修公司進(jìn)行裝修,裝修公司將負(fù)責(zé)我們裝修的一切事宜。我們完全不需要自己去做。
在使用Facade的時(shí)候我們不可避免的會(huì)部分替換Facade類(lèi)中的某個(gè)子系統(tǒng)位另一個(gè)子系統(tǒng)。為了滿(mǎn)足這種需求,我們需要抽象Facade類(lèi)的概念。
Facade模式經(jīng)常和單例模式一同出現(xiàn)。例如數(shù)據(jù)庫(kù)鏈接池。
新聞熱點(diǎn)
疑難解答
圖片精選
網(wǎng)友關(guān)注