Насколько я понимаю, ViewModel должен абстрагировать модель от представления и добавить дополнительную логику для обработки материала презентации.MVVM Экспертам нужно ваше мнение о MVVM и Dataforms
Мой вопроса:
Как создать DataForm, который предполагает, чтобы обрабатывать ввод данных пользователя для заказа и деталей сразу. Он должен содержать поля для ввода заказов, а также поля для 1 детали.
У моей модели был бы объект для заказа, который содержит список OrderDetails.
Как будет выглядеть мой ViewModel для моего OrderEntryForm?
Будет ли у меня OrderViewModel и OrderDetailViewModel, а мой мой OrderEntryForm будет содержать свойство OrderViewModel и один для OrderDetailViewModel? (вложенные ViewModels?) Как будет обрабатываться валидация в этом случае? Так как валидация должна приближаться к модели? Особенно, когда я работаю с RIA-Service ... Не имеет смысла вкладывать его в ViewModel?
Как далеко вы могли бы отвлечь модель от ViewModel? Пример:
private DateTime _OrderDate;
public DateTime OrderDate
{
get { return _OrderDate; }
set
{
if (_OrderDate != value)
{
_OrderDate = value;
OnPropertyChanged("OrderDate");
}
}
}
это означало бы, что я должен сопоставить ViewModel-недвижимость в Model-Properties. Не удается использовать Validation-Logic от модели здесь ...
Этот пример:
public DateTime OrderDate
{
get { return Model.OrderDate; }
set
{
if (Model.OrderDate != value)
{
Model.OrderDate = value;
OnPropertyChanged("OrderDate");
}
}
}
бы requiere пройти в модели. Иметь доступ к логике проверки модели, но и в связи ...
Большинство примеров на веб-шоу форм данных, которые используют ViewModel о том, что справедливое представление таблиц не реальная абстракция ...
Я знаю, и я видел это
stackoverflow.com/questions/744474/combining-net-ria-services-and-mvvm-in-silverlight-3-0
Я также прочитал nikhils BlogPost на это, но это также обрабатывает только продукты прямого отображение таблиц базы данных ... = (
I знаю много вопросов ...
Ваше мнение по этому вопросу? Как бы вы обрабатывали сложные формы данных?
2-й вариант будет означать либо набранный ViewModel или застройщик, который получает Модели –
silverfighter
я думаю, что ваше утверждение «VM - это абстракция Модели, а не вид», вводит в заблуждение/запутывает. модель представления по существу является моделью («абстракцией») представления. Это не модель для представления. check fowlers Presentation Model pattern – Schneider