[模式] factory pattern疑問

看板OOAD作者 (藍廳)時間7年前 (2017/01/04 22:48), 編輯推噓5(506)
留言11則, 3人參與, 最新討論串1/1
第一次看到這個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://www.ptt.cc/bbs/OOAD/M.1483541286.A.648.html

01/05 19:33, , 1F
工廠模式允許子類別決定 new 物件的類別,高階調用`
01/05 19:33, 1F

01/05 19:33, , 2F
式是透過介面或抽象類別而非該物件的實體類別
01/05 19:33, 2F

01/05 19:46, , 3F
工廠模式建議看其他資料補完HF書中沒說清楚的部分
01/05 19:46, 3F

01/05 19:48, , 4F
Wikipedia 英文頁面的圖還滿簡單明瞭的
01/05 19:48, 4F

01/05 22:32, , 5F
wiki那個例子看起來比較像template method pattern
01/05 22:32, 5F

01/05 22:35, , 6F
PHP的那個例子就是我的疑問,那個例子工廠模式看起
01/05 22:35, 6F

01/05 22:35, , 7F
來並未提供任何好處,客戶端還是要new一個具體工廠
01/05 22:35, 7F

01/05 23:39, , 8F
子類別多的時候才看的出好處
01/05 23:39, 8F

01/29 04:27, , 9F
你的思維還停留在整個專案從頭到尾都是自己、
01/29 04:27, 9F

01/29 04:28, , 10F
自己團隊或自己公司開發的。試著想想兩間公司合作
01/29 04:28, 10F

01/29 04:28, , 11F
或者 A 公司跟 B 公司買授權來擴充之類的情境。
01/29 04:28, 11F
文章代碼(AID): #1ORGicP8 (OOAD)
文章代碼(AID): #1ORGicP8 (OOAD)