2010-10-16 82 views
2

为什么Lift框架中的映射器字段被定义为类内的对象?为什么他们不是vals?当我看着他们的Wiki页面时,它说由于Scala的一些内部原因,我们将它们作为对象而不是val或var。斯卡拉的内部原因或影响是什么?提升映射字段对象

回答

2

The Definitive Guide to Lift,P83:

...字段定义为对象,而不是实例成员(乏),(因为)MetaMapper需要访问其验证和形式的功能字段;因为MetaMapper实例本身就是一个对象,所以如果必须访问每个实例上的成员变量,则更难以在MetaMapper中完整定义这些属性。

+0

你知道这是否带有性能损失?我不确定在编译时,类内实际创建了什么对象。 – 2011-10-23 17:25:22