ViewModel做和不做

Cod*_*mmr 5 domain-driven-design c#-4.0 asp.net-mvc-3

我现在正处于构建MVC应用程序的有趣部分.过去3周我一直在研究建筑,ONION,以及了解IOC/DI等.

所以我的问题是:实现ViewModels的最佳方法是什么?到目前为止,我已经看到了一些可怕的例子.

TJB*_*TJB 2

我建议您阅读这篇文章,其中概述了处理视图模型的不同“策略”。 http://blogs.msdn.com/b/simonince/archive/2010/01/26/view-models-in-asp-net-mvc.aspx

我可以为您提供的一些关于视图模型的建议是:

  • 它们直接基于您的视图和用户界面的需求,
  • 更喜欢为单独的页面创建自定义视图模型,而不是将它们概括为在不同视图中重复使用。
  • 保持它们简单、扁平,不要过度继承等。
  • 如果您从数据库模型进行映射,请采用现有方法在模型和视图模型之间进行映射,例如AutoMapper
  • 在某些情况下考虑使用动态,它更灵活并且可以具有更少的摩擦。