我有一個非常簡單的場景來解決使用DI,但我無法找到一個適當的示例/文檔來幫助我完成任務。我是Scala/Guice世界的新手。Scala Guice中的依賴注入 - 傳遞參數
的電流分量像這樣
trait Foo {
}
class FooImpl extends A {
}
trait Bar {
val description: String
}
class BarImpl(val description: String) extends Bar {
}
現在,我有Foo和酒吧之間的依賴關係。 所以,平時的代碼看起來像這樣
class FooImpl extends Foo {
Bar bar = createBar("Random Bar Value!")
}
其中createBar("Bar!")
簡單地返回new BarImpl("Random Bar Value")
。當然,爲了簡潔起見,我會刪除工廠/幫手。
我意識到,當我使用「新」時,這是脫離了DI範例。我想確保Bar可以根據參數注入到FooImpl中。有點像使用工廠。我們如何在Scala/Guice世界中使用DI。
我看了一下AssistedInjection/Named Parameters,但是我無法理解這個用法最終會如何。我認爲這是最好的方式,但不知道應該如何編寫/測試。