也許這個問題是一般的,但我沒有找到我正在尋找的答案,所以我希望從這篇文章中得到一些想法。我正試圖將一些常用的方法移出給幫手來簡化我的設計。我查看了多篇文章,並就實用方法靜態v/s非靜態進行了討論。我的問題更多地涉及創建一個輔助類與靜態和非靜態方法的組合。由於現有類包含靜態和非靜態方法的組合,因爲我不想在多個類中重複代碼,所以我想移出這些方法。所以,我想知道在助手類中包含靜態方法和非靜態方法是否是個好主意。我有點猶豫的原因是大多數效用方法在本質上是靜態的,我想了解它是否是在實用類中具有靜態和非靜態方法的良好設計選擇。有什麼建議麼??設計助手/工具類 - java
2
A
回答
2
這取決於班級在做什麼。
非靜態方法意味着幫助程序類維護一些可能在不同實例中不同的狀態。如果你沒有這些,那麼所有的靜態方法就是要走的路(像Java數學或集合類那樣思考)。
如果您需要跨方法調用維護實例狀態,那麼非靜態方法很有用。如果你朝這個方向前進,那麼你的助手類將有構造函數或者靜態工廠方法來創建Helper對象,並且每個實例都會有維護狀態的字段。
非靜態方法也可能是一個好主意,如果你的其他靜態方法通常具有相同的參數一遍又一遍都是相同的值/引用。在這種情況下,構建這些構造函數的參數可能會更清晰,並且只需爲方法之間不同的附加參數提供方法參數。
相關問題
- 1. 設計UML類圖工具
- 2. 具有依賴性的助手類是否正確設計?
- 3. 撇號小工具助手
- 4. Rails與設計的助手
- 5. 設計助手返回nil
- 6. 幫助類設計
- 7. 實用工具類和助手類之間的區別
- 8. 用於Java的免費類GUI網頁設計工具?
- 9. 用於Java/C#的UML工具:類設計等
- 10. 設計 - 靜態工具類或接口?
- 11. UIButton設計工具
- 12. UI設計工具
- 13. 的Web GUI設計工具
- 14. 設計助手方法不存在
- 15. rspec的設計與測試助手
- 16. 在模型中使用設計助手
- 17. FactoryGirl並設計助手不規範工作
- 18. Java類設計 - 圖
- 19. HTML助手類
- 20. 類中的枚舉助手(java)
- 21. Javascript是否有Java的Calendar助手類?
- 22. 幫助設計rails應用程序的可視化工具?
- 23. 任何數據庫/架構設計批判/協助工具
- 24. Android UI設計工具
- 25. 網頁設計工具
- 26. 網頁設計工具
- 27. Android UI設計工具
- 28. 創建UI設計工具
- 29. android佈局設計工具
- 30. Cron管理工具設計