我最近在大學課程中學習過Guice,並且看過Google I/O video about it。在視頻中,他們聲稱在每個Google項目中都使用它,包括Wave等。我想知道 - Guice真的是無處不在嗎?這對於Java程序員來說真的是必須知道的嗎?我應該總是在工廠使用它嗎?Guice何時何地使用依賴注入?
謝謝
我最近在大學課程中學習過Guice,並且看過Google I/O video about it。在視頻中,他們聲稱在每個Google項目中都使用它,包括Wave等。我想知道 - Guice真的是無處不在嗎?這對於Java程序員來說真的是必須知道的嗎?我應該總是在工廠使用它嗎?Guice何時何地使用依賴注入?
謝謝
是Guice真的那種無處不在嗎?這對於Java程序員來說真的是必須知道的嗎?
Google之外 - 不,不是。我並不是說這不是一個好產品,它現在看起來並沒有被廣泛使用。還有其他更成熟的框架提供依賴注入,如Spring或EJB。主要區別在於Guice 只有做依賴注入。
我是否應該經常在工廠使用它?
當然不是。依賴注入是一種有用的模式,但是與所有有用的工具一樣,使用它也有正確和錯誤的時間。
Guice是一個依賴注入框架。在使用Java時,您絕對應該考慮依賴注入框架(DI)。 DI可以爲您節省大量用於(網絡)安全/認證,事務管理,日誌記錄,數據庫訪問以及更清晰的代碼的鍋爐代碼。
或者你可以考慮春天。由於Guice不依賴於XML,因此Guice至少更容易使用,但Spring自從最新版本(使用註釋,javaconfig等)後已經追上。
好吧,無論哪種方式,使用你自己的工廠代碼,事務鍋爐板代碼(transaction.start。commit,finally ..等),單例(像靜態getInstance方法)等DI框架。