3

虽然 Scala 着手展开 Java 的样板实践(以及在此之前的一些其他东西,例如不变性、一流的函数式编程等),但 slick 库教程建议围绕简单的表定义提供很多样板:

  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 使用示例称为惯用语。很容易枚举上面派生的工作代码中的所有重复项 - 对于表名、列类型、列名。我发现很难想象在我的代码库中使用这种风格来定义具有任何优雅风格的更大模式。

你最喜欢用什么方法来减少所有这些重复和冗长不再需要的东西?光滑的代码生成是唯一的解药吗?

我发现了这一点,但有时我真的更喜欢专注于应用程序逻辑,而不是深入研究库创建者的思想转储,尽管他们的贡献可能很慷慨。不要误会我的意思,我认为 slick 很酷,只是这么多的样板必须是一个天真的例子,可以以某种方式大大简化......

4

0 回答 0