虽然Scala开始解开Java的样板实践(以及其他一些事情,比如不变性,一流的函数式编程等等),但是光滑的库教程提出了很多围绕简单表定义的样板:
class MyTable(tag: Tag) extends Table[(String, String, String)](tag, "MyTable") {
def Col1 = column[String]("Col1")
def Col2 = column[String]("Col2")
def Col3 = column[String]("Col3")
def * = (Col1, Col2, Col3)
}
我几乎无法在惯用语附近调用api用法示例;可以很容易地枚举上面派生的工作代码中的所有重复 - 表名,列类型,列名。我发现很难想象使用这种风格来定义一个更大的模式,在我的代码库中有任何优雅。
你最喜欢的方法是将这种方法减少到不再需要所有这些重复和冗长的东西?光滑的代码生成是唯一的解毒剂吗?
I found this但有时我更倾向于专注于应用程序逻辑,而不是潜入图书馆创建者的思维转储,因为他们的贡献可能很慷慨。不要误会我的意思,我认为光滑非常酷,只是这个样板量必须是一个天真的例子,可以在某种程度上简化......