2011-12-29 58 views
0

我從Singleton的角度理解DI的好處以及減少鍋爐代碼。但是我發現這對維基百科太:依賴注入,無需重新編譯即可實現更改

另一個好處是,它提供配置靈活性,因爲一個給定服務的 替代實現,而不 重新編譯代碼

被用來當我使用Spring或吉斯它始終在1服務和1實施之間簽訂合同。我錯過了一個功能還是錯誤地理解了這個說法?

回答

2

您通常必須重新編譯包含配置的應用程序部分,但應用程序的其餘部分可以保持不變。將這些部件放入單獨的模塊/組件中時,不需要重新編譯這些部件。當您使用XML配置容器時(理論上)不需要重新編譯。

如果您願意,您甚至可以更進一步並在運行時更改行爲(例如使用裝飾器)。

+1

+1詳情請參閱此處:http://stackoverflow.com/questions/2512316/ioc-dependency-injection-please-explain-code-versus-xml – 2011-12-30 09:41:20

0

如果決定使用給定服務的實現在配置中,只要您想要使用的替代實現已經存在,就可以純粹在配置中更改該決定,且不進行代碼更改。

這在很大程度上與Spring很相似,其中這個決定通常在應用程序啓動時讀取的XML配置文件中進行。