У меня довольно простой сценарий для решения с помощью DI, но я не могу найти подходящий пример/документацию, чтобы получить меня. Я новичок в мире Scala/Guice.Инъекция зависимостей в Scala Guice - Параметры прохождения
текущие компоненты выглядеть следующим образом
trait Foo {
}
class FooImpl extends A {
}
trait Bar {
val description: String
}
class BarImpl(val description: String) extends Bar {
}
Теперь у меня есть зависимость между Foo и Bar. Таким образом, как правило, код будет выглядеть следующим образом
class FooImpl extends Foo {
Bar bar = createBar("Random Bar Value!")
}
где createBar("Bar!")
просто возвращает new BarImpl("Random Bar Value")
. Конечно, я удаляю фабрику/помощник для краткости.
Я понимаю, момент, когда я использую «новое», это вне парадигмы DI. Я хочу убедиться, что Bar может быть введен в FooImpl на основе параметра. Похоже на использование фабрики. Как мы используем DI в мире Scala/Guice.
Я посмотрел на AssistedInjection/Named Parameters, но я не мог понять, как это будет выглядеть. Я предполагаю, что это лучший способ пойти, но не мог понять, как это должно быть написано/протестировано.