有没有人有任何想法/更好的方法来处理跨越多个案例类的公共字段...例如我有以下案例类;
case class Customer(
name: String,
refId: String = ReferenceIdGenerator.generateRefId("CUSTOMER"),
createdAt: DateTime = DateTime.now,
updatedAt: DateTime = DateTime.now,
id: Option[Long] = None)
在我的示例应用程序中,每个“模型/域”案例类中重复最后四个变量。有没有更好的方法来删除常见的样板代码?
一种想法是创建一个“通用”案例类,并且至少样板代码是有限的,例如;
case class CommonFields(refId: String...etc)
case class Customer(name: String, common: CommonFields)
思想?
答案 0 :(得分:4)
一种想法是创造一个共同的"案例类和至少样板代码是有限的,例如
是的,这是正确的解决方案,假设这适用于您用于与数据库交互的任何内容。如果您使用的是Slick,请参阅Extending SLICK Tables in a DRY manner。
答案 1 :(得分:-3)
这些很常见只是巧合,所以这既不是样板也不是重复的代码。