我准备使用带有命名默认参数的case类作为构建器。举个简单的例子:
case class Person(name:String)
case class PersonBob(name:String = "Bob") {
def build = Person(name)
}
val casePerson = PersonBob("case").build
但我也可以使用方法:
object Builder {
def personBob(name:String = "Bob"):Person = Person(name)
}
val methodPerson = Builder.personBob("method")
一些权衡:
其他考虑因素?用其他方式建立一个更好的建设者?
答案 0 :(得分:0)
困惑我:不是这里所有你需要的烤箱工厂,或者我错过了什么。 IOW:
scala> case class Foo(bar:String="ab")
defined class Foo
scala> val f = Foo()
f: Foo = Foo(ab)
scala> f.bar
res2: String = ab