DI를 사용하여 해결할 수있는 간단한 시나리오가 있지만 적절한 예제/문서를 찾을 수 없습니다. 나는 스칼라/Guice 세계에 처음이다.Scala Guice에서 종속성 삽입 - 매개 변수 전달
현재의 구성 요소는 내가 푸와 바 사이의 종속성이 지금이
trait Foo {
}
class FooImpl extends A {
}
trait Bar {
val description: String
}
class BarImpl(val description: String) extends Bar {
}
처럼 보인다. 그래서, 보통 코드는 createBar("Bar!")
단순히 new BarImpl("Random Bar Value")
을 반환이
class FooImpl extends Foo {
Bar bar = createBar("Random Bar Value!")
}
과 같을 것이다. 물론 간결함을 위해 공장/도우미를 제거합니다.
내가 "새로운"것을 사용하는 순간, 이것은 DI 패러다임에서 벗어 났음을 알았습니다. Bar가 매개 변수를 기반으로 FooImpl에 주입 될 수 있는지 확인하고자합니다. 공장을 사용하는 것과 같습니다. Scala/Guice 세계에서 어떻게 DI를 사용합니까?
AssistedInjection/Named Parameters를 살펴 봤지만 사용법이 어떻게 될지 이해할 수 없었습니다. 나는 이것이 최선의 방법이라고 생각하지만, 어떻게 쓰고 테스트해야하는지 이해할 수 없었다.