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