ViewModel против частичных представлений на сводной / главной странице

У меня есть вопрос дизайна / передовой практики, относящийся к MVC3. У меня есть "главная страница" для сайта, которая может содержать некоторую сводную информацию для не связанных таблиц из моей модели.

Лучше ли создавать частичные представления, предназначенные для каждой модели, или создавать модель представления, чтобы связать все вместе?

"За" частичных представлений является то, что он действительно разделяет проблемы, а "против" заключается в том, что частичные представления, вероятно, не будут повторно использоваться в других местах на сайте.

"За" ViewModels заключается в том, что он позволяет применять один строго типизированный объект к представлению, а "кон" - это то, что данные действительно не связаны и искусственная привязка.

1 ответ

Решение

Для ясности и удобства обслуживания я бы выбрал это

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

Основным преимуществом является не повторное использование (но кто знает?), А ремонтопригодность. С помощью этой модели очень легко модифицировать данные для частичного или повторно использовать их в других местах.

Сводная информация для не связанных таблиц из моей модели.

В представлении ViewModel - это модель. На самом деле приложение не должно заботиться о таблицах и других деталях персистентности. Модель приложения - это, главным образом, модель предметной области, pocos для EF или NH - модель постоянства. Представления знают об их модели, которая отличается от приложения или модели постоянства.

Другие вопросы по тегам