Я смущен. Возможно ты можешь помочь мне :)
Я следовал указаниям CAG и нашел паттерн MVP очень естественным для меня. Предположим, у меня есть модель, готовая к использованию пользовательского интерфейса (например: реализует INotifyPropertyChanged), я использую презентатора для привязки этой модели к представлению (докладчик знает интерфейс представления), сохраняя минимальный размер моего кода позади, обрабатывая только привязки ( Model and Commands) свойства (или методы) или события для элементов управления, которые не имеют ICommand и в этом случае немедленно делегируются докладчику.
Через некоторое время я обнаружил паттерн MVVM, и пока он ускользает от меня. Насколько я могу судить по своему подходу, я бы использовал MVVM только тогда, когда моя модель не готова к пользовательскому интерфейсу. Но было бы разумнее оставить докладчика и просто использовать новую Модель, я не понимаю, что я теряю при таком использовании. Я знаю, что чего-то не хватает, но что это? :).
Также, когда ваше представление является общим и может обрабатывать многие виды моделей (например, в PropertyGrid). ViewModel рекомендуется использовать с DataTemplate, но в этом случае вы просто не можете создать шаблон для каждого объекта в вашей модели, его просто нужно исследовать во время выполнения, что вы порекомендуете?
Наблюдая, как Джош Смит рассказывает о MVVM в скринкасте , У меня возникло ощущение, что повторное экспонирование модели в ViewModel нарушает DRY (не повторяйтесь), действительно ли это неизбежно? меня никого не удивляет его споры об этом по сравнению с пламенем Классы метаданных ADO.Net Dynamic Data появляются в настоящее время.
Надеюсь, это было достаточно ясно
Спасибо
Ариэль