對於一個小型系統,我使用工廠方法創建相關對象(從父類繼承),這樣我就可以動態創建對象而無需指定對象的類型。我必須創建另一個沒有子類的對象,並且這個對象是用戶類的一個實例。爲了正確理解工廠方法模式,我不必爲最後一個類的權限創建工廠方法?創建對象 - 工廠方法
0
A
回答
1
工廠模式不僅是關於類型的靈活性。例如,Java有Integer.valueOf(int)
,即使它已經有new Integer(int)
。工廠形式允許緩存:中Integer.valueOf(1)
每次調用將返回相同的實例。這適用於所有不可變對象。
另一個,考慮的很重要的一點是初始化對象:有一些初始化模式,而對象是正在建設的是隻是沒有安全完成。例如,調用任何可重寫的方法。這些案例也被工廠模式優雅地解決。
我個人想說的第三個好處,但是這可能是有爭議的一些:我更喜歡沒有new
編寫代碼。例如,而不是new OidableBinding(vb)
我喜歡寫oidableBinding(vb)
。這是通過靜態導入實現的。所以旁註:不會將您的工廠方法的名稱getInstance
或類似名稱。將其命名爲與類型名稱類似,以便在靜態導入時該方法看起來不錯(並且不會與其他卑微命名的工廠方法產生名稱衝突)。
0
我認爲如果您現有的工廠正在提供相關對象,那麼您可能需要創建另一個工廠。即使您的工廠僅創建一種類型的對象,我認爲它也很好。
相關問題
- 1. 創建一個工廠方法來創建新的SqlConnection對象
- 2. 如何爲gson方法創建對象工廠方法?
- 3. 工廠方法VS工廠對象
- 4. 創建域創建一個工廠的正確方式對象
- 5. 如何使用靜態工廠方法創建對象?
- 6. 用工廠方法創建子類對象
- 7. 抽象工廠方法;改變傳遞給對象的工廠
- 8. 對象創建工廠模式
- 9. 創建通用對象工廠
- 10. 獨家使用工廠創建對象
- 11. FactoryGirl RSpec創建工廠對象時沒有方法錯誤,其中工廠設置了該對象的屬性
- 12. 工廠對象創建需要其他對象的對象
- 13. 工廠方法D.P
- 14. MPL工廠方法創建mixin類
- 15. 工廠方法創建單例實例
- 16. 工廠創建工廠?
- 17. 抽象類工廠方法
- 18. 如何用靜態工廠方法創建抽象類?
- 19. 在工廠方法
- 20. 工廠無法創建一個IIFE對象中定義
- 21. 對象工廠
- 22. 使用工廠方法來構建基礎對象繼承
- 23. 在android示例中,爲什麼ScreenSlidePageFragment類使用工廠方法創建對象
- 24. 如何配置HK2注入由工廠方法創建的對象?
- 25. 如何將數據傳遞給使用工廠方法創建的對象
- 26. 我可以讓Hibernate通過工廠方法創建一個對象嗎?
- 27. 從子類工廠方法PHP調用超類工廠方法
- 28. 創建一個從靜態工廠方法工廠,然後調用靜態工廠方法上的ID
- 29. 創建Python方法對象
- 30. 靜態工廠方法vs工廠
你可以粘貼一些具體的代碼來演示嗎? – oldrinb