使用asp.net mvc的duck typed视图模型有什么好处/缺点?
最近I've seen an interesting implementation的一个Twitter搜索客户端,使用流畅的C#动态XML包装器将数据从控制器传递到视图,以包装XML数据。
这似乎是传递数据的更好方法 - viewModel.Foo而不是使用ViewData [“Foo”]或Foo.Bar而不是XElement(“Foo”)。属性(“Bar”)。更清洁的价值代码 - 但我认为它会出现性能问题。
答案 0 :(得分:0)
好处 - 更少的代码(字面意思)和可读性(在ViewData["foo"]
方法的cotrast中)。
缺点 - 你失去了强类型的视图模型(这是我无法忍受的东西)。对单元测试的依赖性更高。而且我不确定如何将Mvc2模板/验证这样的东西附加到动态视图模型中。
如果您不熟悉视图模型的想法 - 请查看this。它比起初看起来更强大的野兽。