[英]Is binding to a TypeLiteral a good or bad practice in google guice
[英]Is storing an entire map in Guice using a single binding considered bad practice?
我需要存儲一個Map<Integer, User>
以便通過ID查找用戶。 在使用Guice之前,我將創建一個UserManager
,它將自身內的地圖合成,並具有2個獲取和設置用戶的功能。
為了避免需要單獨的(可能是poltergeist)包裝器類,創建諸如UserMap extends HashMap<Integer, User>
的類UserMap extends HashMap<Integer, User>
並將其綁定到單例實例是否被認為是不好的做法? 然后,我可以注入UserMap
本身,而無需擔心其他任何事情。 這可能違反了繼承而不是組成……但是考慮到其唯一目的是充當地圖?
是否有其他合適的方法來存儲Map
(和其他)類型以進行全局訪問而沒有靜態變量(即,沒有靜態的非Guice UserManager.get(23)
)?
我覺得我正在創建的數十個“管理器”類沒有用,只是為現有功能提供了包裝。
我要說的是,擴展HashMap
而不是自己做接口將與最佳做法背道而馳。
這里有幾個原因
Map
接觸的代碼 最好有一個清晰的界面來定義UserManager的職責,隨着您的應用程序的發展,該職責可能會變得越來越復雜。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.