2
參數化組件與蛋糕的圖案很好地工作,只要你是隻在一個獨特的成分爲每個類型的組件,例如興趣:scala的蛋糕模式可能帶有參數化組件嗎?
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的類型系統不允許我將兩個組件擴展。這種情況下常見的做法是什麼?
提供情況下,它確實是更好的解決方案,如果他的例子不僅說明和缺少一些變成
這與他意圖實現的相關部分。 – pedrofurla
感謝您的回答。這確實是我遇到的最好的。這樣做的問題是注入B [T](a:A [T])的BComponent需要調用帶有類型參數的B上的構造函數。 (通常是'val bInt = new B(aInt)'),這會降低蛋糕模式在這種情況下的價值 – Nicolas