私はDIを使って解決するのは非常に簡単なシナリオですが、適切なサンプル/ドキュメントを見つけることができません。私はScala/Guiceの世界では初めてです。Scala Guiceの依存関係注入 - パラメータの受け渡し
電流成分は、私はfooとbarの間の依存関係を持って、今、この
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を見ましたが、使用状況がどのようになっているのか理解できませんでした。私はそれが最善の方法だと考えていますが、どのように書かれ、テストされるべきか理解できませんでした。