作者w0005151 (藍廳)
看板OOAD
標題[模式] factory pattern疑問
時間Wed Jan 4 22:48:04 2017
第一次看到這個pattern是在head first design pattern
就我的理解這個pattern的精神是把具象化物件程式碼封裝起來
讓客戶端藉由factory提供的method創建Product
而不是直接new出一個 Concrete Product
但這樣做的好處到底是甚麼呢?
客戶端不是依然還是需要一個Concrete Factory嗎?
這樣不是把new Concrete Product動作變成new Concrete Factory而已嗎?
而abstract factory我就比較能理解
他是把一系列有合作關係的Concrete Product集合在一個abstract factory裡
客戶端只要使用這個factory的method就不會搭配錯這些Product
這樣理解對嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.228.98.198
※ 文章網址: https://webptt.com/m.aspx?n=bbs/OOAD/M.1483541286.A.648.html
1F:推 H45 : 工廠模式允許子類別決定 new 物件的類別,高階調用` 01/05 19:33
2F:推 H45 : 式是透過介面或抽象類別而非該物件的實體類別 01/05 19:33
3F:推 H45 : 工廠模式建議看其他資料補完HF書中沒說清楚的部分 01/05 19:46
4F:推 H45 : Wikipedia 英文頁面的圖還滿簡單明瞭的 01/05 19:48
5F:→ w0005151 : wiki那個例子看起來比較像template method pattern 01/05 22:32
6F:→ w0005151 : PHP的那個例子就是我的疑問,那個例子工廠模式看起 01/05 22:35
7F:→ w0005151 : 來並未提供任何好處,客戶端還是要new一個具體工廠 01/05 22:35
8F:推 H45 : 子類別多的時候才看的出好處 01/05 23:39
9F:→ tinlans : 你的思維還停留在整個專案從頭到尾都是自己、 01/29 04:27
10F:→ tinlans : 自己團隊或自己公司開發的。試著想想兩間公司合作 01/29 04:28
11F:→ tinlans : 或者 A 公司跟 B 公司買授權來擴充之類的情境。 01/29 04:28