從耦合關係談起
耦合關係直接決定着軟件面對變化時的行爲
-模塊與模塊之間的緊耦合使得軟件面對變化時,相關的模塊都要改變
-模塊與模塊之間的鬆耦合使得軟件面對變化時,一些模塊更容易被替換或者更改,但其模塊保持不變。
所以我們在寫功能時一定要劃分模塊記住鬆耦合。不要讓模塊和模塊之間關聯的太緊密。
在寫軟件的時候,經常面臨"一些對象"的創建工作;由於需求變化,這個模塊可能會經常發生修改變化,但是它卻擁有比較穩定的接口。保證了鬆耦合,模塊與模塊之間儘量分離起來。如果緊耦合的話我們改變一個地方其他地方也跟着修改感覺效率低下也會很麻煩。
但是我們要如何面對這種變化呢?如何提供一種"封裝機制"來隔離出這個對象的變化,從而保證了系統中其他依賴該對象不隨着需求的改變而改變呢。
工廠模式的幾個要點
工廠模式主要用於隔離對象的使用者和具體類型之間的耦合關係。面對一個經常變化的具體類型,緊耦合關係會導致軟件的脆弱。
工廠模式主要通過面向對象的手法,將所要創建的具體對象工作延遲到自雷,從而實現一種擴展(而非更改)的策略,較好的解決這種緊耦合關係。
工廠模式解決"單個對象"的需求變化,抽象工廠模式解決"系列對象"的需求變化,Builder模式解決"對象部分"的需求變化。