這是我的代碼(只是一個例子,當然):配置Java對象結構,無需依賴注入
Employee manager = new DefaultEmployee(/* dependencies */);
Budget budget = new DefaultBudget(/* dependencies */);
Project project = new DefaultProject(manager, budget);
DefaultProject
取決於Employee
和Budget
,他們依靠別的東西,等等等等的層次依賴關係相當大(可能是上百種類型)。我可以硬編碼(如示例中所示),或者我可以使用某種配置(XML或YAML)和一些可以在運行時創建此類層次結構的構建器。除了Spring Framework之外,還有其他解決方案嗎?
請不要提供依賴注入。
此片段與dependency injection設計模式無關,因爲消費者沒有任何鏈接到容器。此外,根本沒有容器(這是DI模式的靜態組件,並且是對OOP原則的粗暴違反),並且沒有inversion of control。
我會在這種情況下使用依賴注入。只是好奇你爲什麼不? – Subin
爲什麼不是DI?你正在做的事實上是依賴注入,手工製作。 Spring(或者像Guice這樣的其他DI框架)正在按照你的要求進行操作,如果你能說出爲什麼你對DI說「不」,這將是一件好事。 (你正在做DI,並尋找一個框架來做DI,但你不想要DI框架......:P,這對我來說聽起來很奇怪) –
你描述的**是**(手動)依賴注入! – assylias