2012-07-18 50 views
2

我对Scala非常陌生,并试图理解它的各种构造和它们的用例,所以归结为case-classes,它们非常适合模式匹配等。我们所有的模型类应该是案例类吗?

所以在看MVC的观点,应该我们所有的模型都是案例类来利用这个功能?

我查看了play framework的示例代码片段,并找到了一个模型类被定义为案例类的示例。

回答

1

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

2

如果您有像swing component models这样的模型(例如表模型),那么案例类可能不是最佳选择。如果您使用它们来表示从数据库检索到的数据,那么案例类是(观察性)不可变的情况下的一个很好的选择。对于挥杆模型,可能并非如此,例如,如果允许用户更改表格数据。

+0

不知道如何适应秋千,但你总是可以拥有镜头。 – pedrofurla 2012-07-19 01:08:47

+0

你可能可以,但是由此产生的组合听起来像尖叫“错误的设计决定”给我。假设表格是要编辑的,那么你会选择一个不可变的数据结构 - 这对我来说听起来很奇怪 - 只是为了让一层镜头处于顶层,让它再次变得可变(而且更复杂)。 – 2012-07-19 07:46:26

相关问题