3
A
回答
8
模型的扩散,在极端情况下,以每个动作模型来支持可能不直接与数据模型相关的附加视图属性。例如,如果视图根据角色而不同,则需要创建一个新模型来封装数据模型和角色相关设置。通过将数据模型用作视图模型并通过“魔术串”向ViewData添加一些设置,可以实现同样的效果。
编辑这不是理由“避免”强类型的意见,但给予一定的平衡,选择何时创建一个新的视图特定的模式,而不是使用现有的模型和ViewData的属性来扩展它。
1
我不建议避免使用强类型viewdata,但我敢肯定有一些人会不同意。我可以理解,如果你正在做快速原型设计,并且你仍然在搞乱要显示的数据。强烈的打字会给你更好的调试和编码体验。此外,花时间思考你的viewdata会让你更好地理解你的设计,并最终导致更高质量的代码。
1
据我所知,强类型viewdata没有单一的缺点。我不明白为什么魔术字符串和匿名对象是MVC框架的一部分。我尽量避免他们。你不想在其余的代码中传递类型对象的参数,那么你为什么要在UI中做到这一点?
+0
你是说没有单一的缺点? – Gilligan 2009-04-06 17:45:24
相关问题
- 1. 什么时候应该避免在Clojure中使用`seq`?
- 2. 什么时候应该使用std_logic_vector,什么时候应该使用其他数据类型?
- 3. 什么时候应该使用像OSGI这样的平台,什么时候必须避免?
- 4. 什么时候应该避免扩展方法?
- 5. 什么时候应该使用AWS,什么时候不使用
- 6. 什么时候应该避免使用NHibernate的延迟加载功能?
- 7. 什么时候应该使用Import-Package,什么时候应该使用Require-Bundle?
- 8. 什么时候应该使用HashSet <T>类型?
- 9. 强类型的ViewData
- 10. 什么时候应该在scala中使用泛型类中的类型绑定?
- 11. 在C#中,什么时候应该使用一个结构,什么时候应该使用一个类?
- 12. 什么时候应该使用datagrid,何时应该使用datagridview?
- 13. 什么时候应该使用$(object),何时应该使用$ object?
- 14. 什么时候应该使用getElementById?
- 15. 什么时候应该使用_aligned_malloc()?
- 16. 什么时候应该使用GC.SuppressFinalize()?
- 17. 什么时候应该使用`use`?
- 18. 什么时候应该使用didFinishLaunchingWithOptions?
- 19. 什么时候应该使用模板
- 20. 什么时候应该使用可可?
- 21. 什么时候应该使用RESTful?
- 22. 什么时候应该使用const?
- 23. 什么时候应该使用git add?
- 24. 什么时候应该使用html5 sessionStorage?
- 25. 我什么时候应该使用javax.swing.SwingUtilities.invokeLater()?
- 26. 什么时候应该使用Solandra
- 27. 什么时候应该使用*,&,。 , - >?
- 28. 什么时候应该使用$(document).ready?
- 29. 什么时候应该使用scala.util.DynamicVariable?
- 30. 什么时候应该使用流?
我同意。强打字将是,而且已经是我的主要途径。只是寻找一些需要注意的事情:)。如果制作强类型的视图总是一个好主意,我会感到惊讶。但如果是的话,我会很高兴地感到惊讶。 – 2009-02-24 19:59:25