我想知道是否有人有任何創建類型參數化類型層次結構的經驗?我相當肯定這是由於scala僞靜態包裝對象的結合而導致的。類型參數化類型層次結構
具體使用情況下,我心目中是一個參數化類型的id在應用程序框架,所以你可以使用的int
/long
/java.util.UUID
/BSONId
/不管你的選擇。考慮作爲一個粗略的例子:
package object myprj {
object foolib extends foolib.generic.FooTaxonomy[java.util.UUID]
// Whee!
val someEntity = new myprj.foolib.Entity(java.util.UUID.randomUUID())
}
是否有任何理由,這是一個引人注目的壞主意:
package foolib.generic
trait GenEntity[I] { def id: I }
trait GenRepository[I] { def getById(id: I): GenEntity[I] }
trait FooTaxonomy[I] {
type Entity = GenEntity[I]
type Repository = GenRepository[I]
object subpackage extends generic.subpackage.SubpackageTaxonomy[I]
}
你會再與類似配置使用層次的項目呢?任何陷阱/我應該知道的?
可能是我,但我不明白你想達到的目標。 – Jatin