3

我刚刚查看了 MVC 3 预览版中可用的新功能:ScottGu 的博客。有很多很好的改进,值得一读以了解 MVC 的发展方向。

让我印象深刻的是添加了一个动态类型的 ViewModel。关键是您不需要使用ViewModel["Message"]但可以使用来引用视图数据ViewModel.Message

人们对此有何看法?我很难理解为什么应该以这种方式使用动态类型。遇到成员调用几乎会给开发人员一种错误的安全感,因为他们会隐含地认为它是强类型的。至少当您看到带有“魔术字符串”的索引器时,您会意识到运行时错误的可能性。

其他人对此有何看法?这是对动态类型的合理使用吗?

4

2 回答 2

3

只要在视图中您只对这些动态属性使用字符串渲染,我就没有看到真正的问题。但是,如果您将它用于将简单呈现为字符串的东西之外的任何东西,我认为您仍然应该继续创建一个强类型模型。FWIW,我已经完全不再使用 ViewData 魔术字符串来处理“消息”以外的任何内容。

只是我的观点。此外,随着我​​在新版本中获得更多经验,可能会发生变化。

于 2010-07-28T13:45:20.130 回答
2

关于至少知道何时会出现编译时错误的观点是一个很好的观点,但我仍然希望代码更简洁,可读性更好,而不是错误的可预测性。

我真的不喜欢整个 ViewData["string"] 界面,感觉很脏。

这感觉很流畅。所以是的,它是主观的,更多的是一种感觉,而不是任何真实的东西,但是当我阅读顾的帖子时,恕我直言,这是更令人兴奋的方面之一。

于 2010-07-28T13:42:40.697 回答