將建立者 與 使用者 分離
即使用某個物件可以按照自己的需要交由
工廠生成相應的物件
簡單工廠模式 :
直接傳入所需物件資訊(例如 名字 類別 ) 交由工廠類處理 去建立不同的物件
public class ca***ctory else if(
"byd".equals(type))
return null;
} //或者直接設定靜態方法
public static car getaodi(
) public static car getbyd(
)}
工廠方法模式:
將建立動作定義為乙個介面
對於不同的建立請求
以不同的實現類去建立
//建立動作
public inte***ce ca***ctory
//乙個實現
public class bydfactory implements ca***ctory
}
抽象工廠模式:
當乙個產品(組合產品)有多個子產品交叉組合而成時 (包含所有子產品 否則產品不完整 -------產品族)
相當於工廠進行組裝 並進一步抽象
//工廠定義 多個產品待生成
public inte***ce ca***ctory
//建立時 可由不同種類子產品交叉組合而成
從一開始確定產品的組成 (有幾部分 都是什麼)
對於不同的子部分可交叉建立 組合成乙個產品
而不用乙個新產品出現時便新寫建立類 (若新的子部分出現時便無能為力)
簡單工廠模式,工廠模式,抽象工廠模式
三種模式看了一天,記錄下自己的理解 headfirst,比薩店為例 1,簡單工廠模式 乙個具體的工廠類 pizzafactory 乙個抽象的產品類pizza,可以派生出多個具體的產品類 客戶 pizzastore類 工廠類 pizzafactory類關聯產品類pizza,工廠生產出不同型別的pizz...
簡單工廠模式 工廠模式 抽象工廠模式
簡單工廠模式 簡單工廠模式的最大優點在於工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關類,對於客戶端來說,去除了與具體產品的依賴。但增加功能時,需增加 case 邏輯判斷分支條件,修改了原有的類,我們不但對擴充套件開發了,對修改也開放了,違背了開放 封閉原則。工廠方法模式,定義了乙...
簡單工廠模式 工廠模式 抽象工廠模式
其實這個三個c 的設計模式已經學習很長時間了,今晚才想起來要寫這三個設計模式,為什麼要用c 中的設計模式呢?for example,你已經會開車了,正著開,倒著開,轉彎,這些都是開車基本的,但是你並沒有很高的車技,並不會炫酷。漂移,就好像c 中的設計模式一樣,在你學好c 的基礎上,嫻熟的應用出的新技...