C#MVC:返回ViewModel还是Model Class?

时间:2009-06-08 17:56:09

标签: c# asp.net-mvc

假设我有一个视图,我目前只使用“用户”类中的模型信息。

我是否仍应创建额外的viewmodel包装器或直接将用户类实例返回到视图?

直接退回的对象:

return View(user);

在ViewModel对象中包含:

return View(new UserViewModel(user));

我在这里寻找最好的做法。也许我需要稍后向视图返回更多信息,但我还不知道。这仍然是为了总是使用额外的ViewModel类吗?

感谢您的帮助!

2 个答案:

答案 0 :(得分:5)

如果您仅使用来自Model的信息,请不要使用View Model。这是一个简单的情况。创建强类型视图并直接使用您的模型。

答案 1 :(得分:2)

在我需要视图模型之前,我倾向于使用域模型。为什么?使用域模型预先更快。然后,当域模型不再满足我的需求时,我重构,在需要的地方添加我需要的东西。我是“让它快速工作并积极重构”的忠实粉丝。

这也适用于将模型拆分为多个用户控件。