Factory Pattern ============================ ###### tags: `Design Pattern` ref: [工厂模式(factory Method)的本质是什么?为什么引入工厂模式?](https://www.zhihu.com/question/42975862/answer/1239305317) [工厂模式理解了没有?](https://zhuanlan.zhihu.com/p/37095996) Q&A : * 如果是解決 new 的話,那麼工廠與 Builder Pattern 有什麼差別呢? * DDD 中考慮使用工廠的主要動機 ```將創建複雜對象和聚合的職責分配給一個單獨的對象,該對象本身並不承擔領域中的職責,但是依然是領域設計的一部分。工廠應該提供一個創建對象的接口,該接口封裝了所有創建對象複雜操作過程,同時,它並不需要客戶去引用那個實例被創建的對象。對於聚合來說,我們應該一次性地創建整個聚合,並確保它的不變條件得到滿足。``` ```By Eric Evans ``` * DDD中使用工廠模式的參考資料 [DDD 戰術設計:工廠模式](https://ithelp.ithome.com.tw/m/articles/10224777) [DDD Factory](https://speakerdeck.com/jame2408/ddd-tw-7th-dao-du-ch11-factory?slide=5) [ddd的战术篇: Factory和Specification](https://blog.csdn.net/abchywabc/article/details/79778220)