思想: 調用方無需關心具體的實現細節, 實現的細節在工廠裏處理, 調用者要什麼工廠裏有就返回什麼;
- 由各地區訂購披薩案例, 引出工廠模式的思考:
- 案例模型
- 產生的問題: 增加新品披薩後每個訂購區域得重新依賴新品種, 如果區域有很多後期得每個區域去改變現有代碼, 這樣違背了開閉原則(提供方修改代碼後不應該改動調用方的代碼);
- 代碼實現
- 簡單工廠
- 模型
- 代碼實現
- 重複代碼就不上了;
- 工廠方法
- 說明: 對簡單工廠抽象化(制定創建對象的規則), 怎麼去創建對象由下面的簡單工廠實現, 注重點在怎麼從簡單工廠中獲取對象;
- 按地區分披薩口味模型
- 代碼實現
- Java中用到的地方
- 簡單工廠 + 策略模式消滅 if-else 的書寫
- 案例
- 勳章策略
- 簡單工廠 + 勳章策略