パラメーター化されたコンポーネントは、型指定された各コンポーネントの一意のコンポーネントにのみ関心がある限り、ケーキ パターンでうまく機能します。例:
trait AComponent[T] {
val a:A[T]
class A[T](implicit mf:Manifest[T]) {
println(mf)
}
}
class App extends AComponent[Int] {
val a = new A[Int]()
}
new App
現在、私のアプリケーションでは、A[Int] と A[String] を注入する必要があります。明らかに、scala の型システムでは、AComponent を 2 回拡張することはできません。この状況での一般的な方法は何ですか?