我試圖理解依賴注入,並沒有完全得到它,除了我已經設法瞭解它使得很難理解別人的代碼。 :'(使用Guice的逆向工程項目策略?
無論如何,我不確定如何簡單描述我的問題,但我會嘗試。我目前是唯一編碼器,負責約六年內由數十位獨立人員完成的Java項目。大量使用Google的Guice庫,我應該採用一些現有的代碼並以不同的方式實現它;特別是,使用現有的密碼認證方法,而不是將其應用於JMenu中的每個JMenuItem,將其應用於整個JMenu ,所以如果輸入了錯誤的密碼或者沒有輸入密碼,那麼所有的JMenuItems都被禁用,如果密碼錯誤就不會發生這種情況,這導致我認爲問題出現在if語句中,這是一個很長的依賴關係:
if (!ViewScanApp.getApplication().getHistoryManager().isAuthenticated())
我追溯到這個過程中,發現HistoryManager
類是一個接口,並且我的路徑似乎死了;那裏沒有代碼,並且沒有引用任何其他類。我已經通過對項目中100多個類的隨機探索發現了路徑的終點,但我似乎無法將它們連接起來。我找不到第一個能在這個堆棧的另一端找到的第一個類,AccessManagerImpl
,被調用。
我可以使用可能適用於這種情況的依賴注入的解釋。非常感謝!
「依賴注入」就像「新」,除了它發生的魔術,而不是你必須輸入「新」... – 2010-07-07 20:35:43