【发布时间】:2010-10-16 18:43:14
【问题描述】:
为什么 Lift 框架中的 mapper 字段在类中定义为 Objects?为什么不将它们作为 vals?当我查看他们的 Wiki 页面时,它说出于 Scala 的某些内部原因,我们将它们作为对象而不是 val 或 var。 Scala的内在原因或阻碍是什么?
【问题讨论】:
为什么 Lift 框架中的 mapper 字段在类中定义为 Objects?为什么不将它们作为 vals?当我查看他们的 Wiki 页面时,它说出于 Scala 的某些内部原因,我们将它们作为对象而不是 val 或 var。 Scala的内在原因或阻碍是什么?
【问题讨论】:
来自The Definitive Guide to Lift,p83:
...字段被定义为对象而不是实例成员(vars)[因为] MetaMapper 需要访问字段以进行验证和表单功能;如果 MetaMapper 必须访问每个实例上的成员变量,则在 MetaMapper 中干净地定义这些属性会更加困难,因为 MetaMapper 实例本身就是一个对象。
【讨论】: