ViewModel与摘要/首页上的部分视图

时间:2012-03-27 14:12:24

标签: asp.net-mvc-3 viewmodel partial-views

我有一个与MVC3有关的设计/最佳实践问题。我有一个网站的“首页”,其中可能包含我的模型中非相关表的一些摘要信息。

创建专用于每个模型的部分视图或创建ViewModel以将所有内容绑定在一起是否更好?

部分观点的“赞成”是它真正区分了关注点,“con”是部分观点可能不会在网站的其他地方重复使用。

ViewModels的“专业版”是它允许将单个强类型对象应用于View,其中“con”表示数据实际上不相关且绑定是人为的。

1 个答案:

答案 0 :(得分:2)

为了清晰和可维护性,我选择了这个

 public class SummaryModel
 {
     public Patial1Model Partial1 {get;set;}
     public Patial2Model Partial2 {get;set;}
     //etc
 }

主要的好处是不是可重用性(但谁知道?)但是可维护性。使用此模型非常容易修改部分数据或在其他地方重复使用。

  

我的模型中非相关表的摘要信息。

在视图中,ViewModel是Model,实际上app不应该关心表和其他持久性细节。应用程序的模型主要是域模型,EF或NH的pocos是持久性模型。这些视图知道他们的模型与应用程序或持久性模型不同。