Кажется, что ViewModels, что я выгляжу как подозрительно, как и другие классы, и им кажется, что требуется много повторений кода, например. в текущем проекте у меня есть:Нарушает ли MVVM DRY?
- SmartForm: Модель, что представляет собой форму данных для заполнения, имеет свойства:
- IDCODE
- Название
- Описание
- коллекция от SmartFormFields
- и др.
- SmartFormControlViewПосмотреть
- SmartFormControlViewModelViewModel
- IDCODE
- Название
- Описание
- коллекция SmartFormFields
- т.д.
Так что мой ViewModel в основном такая же, как моя модель, только со всеми OnPropertyChanged функциями для связывания с видом.
Кажется, я реорганизовать и расширить это, что каждые мало изменений я делаю для моей модели, я должны внести изменения взеркала в ViewModel.
Это, кажется, нарушает основное правило шаблонов Не повторяйте себя.
Я внедряю шаблон MVVM неправильно или это просто неотъемлемая характеристика MVVM, что между моделью и ViewModel всегда происходит повторение 1 к 1?
Я часто задавался вопросом то же самое ... кроме как в моем случае, я также решил реализовать уведомления об изменениях в своих моделях (имеет больше смысла для меня - они здесь, где данные сохраняются, поэтому они будут знать, когда это изменится). Это делает повторение выделяющимся еще больше. –
Мой подход заключается в том, что модели должны быть доступны в любой среде, поэтому, если вы хотите использовать их в приложении ASP.NET MVC, вы не хотите получать уведомления об изменениях. Поэтому я думаю, что уведомления об изменениях на ваших моделях делают их заблокированными в среде WPF, верно? –
Почему бы просто не иметь экземпляр класса SmartForm в SmartFormControlViewModel вместо репликации полей? –