如果我有一個工廠創建一個需要另一個對象的實例的對象,我應該使用另一個工廠負責這個第二個對象的創建,或者原始工廠應該如何處理?如果要創建的對象需要另一個對象,工廠是否應該使用另一家工廠?
2
A
回答
1
作爲大多數設計問題的答案,它取決於。如果幾乎任何其他對象的實例都可以用來初始化第一個對象,那麼可能是。這會讓他們更獨立,但是你的代碼將會增長(通常的折衷)。另一方面,如果特定對象需要特定的其他對象,那麼這應該是一個工廠(或抽象工廠)
1
它完全取決於第二個對象的性質。它是否屬於這個工廠?如果是這樣,那麼這家工廠應該處理它。如果不是,也許另一個工廠(或其他完全)應該做這項工作。
這種問題的訣竅是知道何時忽略軟件工程的規則。
1
正如其他兩個答案所述,它取決於您需要的抽象級別。考慮可測試性和可擴展性。如果第二個對象是通過工廠方法創建的,那麼是的。你編織兩種模式一起工作。把它當作你最初想要的黑盒子。
如果您想更詳細地回答我的問題,請填寫詳細信息。
相關問題
- 1. 工廠對象創建需要其他對象的對象
- 2. 獨家使用工廠創建對象
- 3. 如果一個工廠總是創建一個新的對象
- 4. 對象的工廠,創建需要依賴
- 5. 返回需要其他已創建對象的對象的工廠模式
- 6. 從另一家工廠使用FactoryGirl工廠?
- 7. 對象工廠
- 8. 在另一家工廠使用來自一家工廠的異步數據
- 9. 工廠是否應該重建序列化對象?
- 10. 創建一個工廠方法來創建新的SqlConnection對象
- 11. 創建域創建一個工廠的正確方式對象
- 12. 如何在Laravel的另一家工廠創建用戶實例?
- 13. 創建通用對象工廠
- 14. 內用另一家工廠AngularJS
- 15. 使用城堡溫莎創建一個對象,而不是一個工廠類
- 16. 從另一家工廠的工廠更新數據
- 17. 爲工廠創建抽象工廠是否有意義?
- 18. 在對象工廠
- 19. 工廠對象與工廠功能
- 20. 工廠方法VS工廠對象
- 21. Angular:如何創建一個工廠對象傳遞參數
- 22. 對象創建工廠模式
- 23. 創建對象 - 工廠方法
- 24. 對象在不使用工廠設計時生成另一個對象是否乾淨?
- 25. 是否有'處理'對象的術語? (不是工廠對象)
- 26. 工廠無法創建一個IIFE對象中定義
- 27. 從另一個對象創建對象
- 28. FactoryGirl RSpec創建工廠對象時沒有方法錯誤,其中工廠設置了該對象的屬性
- 29. 創建工廠需要節點模塊
- 30. 對象工廠產生一個或多個對象
它可能取決於對象如何相互依賴。總的來說,我不會濫用工廠。它不會傷害閱讀關於工廠工廠的以下文章:http://discuss.joelonsoftware.com/default.asp?joel.3.219431.12 – Patrick 2010-10-26 16:43:21