【问题标题】:Should all our Model classes be case classes?我们所有的模型类都应该是案例类吗?
【发布时间】:2012-07-17 06:08:06
【问题描述】:

我对 Scala 非常陌生,并试图了解它的各种构造及其用例,所以归结为案例类,它们非常适合模式匹配等。

那么从 MVC 的角度来看,我们所有的模型都应该是案例类来利用这个特性吗?

我查看了play框架的示例代码sn-ps,发现了一个将模型类定义为案例类的示例。

【问题讨论】:

    标签: scala


    【解决方案1】:

    如果您有 swing component models 中的模型,例如表格模型,那么案例类可能不是最佳选择。当案例类(观察上)不可变时,案例类是一个不错的选择,如果您使用它们来表示从数据库检索的数据,通常就是这种情况。然而,对于摇摆模型,情况可能并非如此,例如,如果允许用户更改表格数据。

    【讨论】:

    • 不确定要适应秋千有多难,但你总是可以拥有镜头。
    • 您可能可以,但由此产生的组合听起来对我来说是“错误的设计决策”。假设要编辑该表,然后您将选择一个不可变的数据结构 - 对我来说已经听起来很奇怪 - 只是在顶部放置一层镜头以使其再次可变(并且更复杂)。
    【解决方案2】:

    这并不罕见。有各种库,例如Salat 用于 MongoDB,它将从您选择的数据存储中存储和检索案例类实例。

    【讨论】:

      猜你喜欢
      • 2010-12-18
      • 2017-11-04
      • 2016-05-04
      • 2013-12-04
      • 1970-01-01
      • 2020-05-24
      • 2019-10-30
      • 1970-01-01
      • 2020-09-13
      相关资源
      最近更新 更多