У меня есть несколько вопросов о шаблоне MVVM

Меня зовут Хесус из Испании, я являюсь разработчиком .NET, и я только что открыл эту замечательную сеть несколько дней назад.

У меня есть несколько вопросов о шаблоне MVVM, и я буду рад, если вы сможете ответить на них.
Я начал использовать WPF три месяца назад и изучил шаблон MVP.
MVP настолько хорош, что вы можете так хорошо структурировать приложение.

Я начал видеть MVVM везде, но каждый использует шаблон своим собственным методом.
Каждый блоггер говорит о MVVM в блогах своих WPF, но каждая реализация отличается.

Сейчас я сосредоточен на реализациях, использующих инструментарий MVVM в CodePlex, но у меня есть вопросы, и я не могу найти слишком много информации.

Я думаю, что MVVM - это вариация MVP.
С MVP у каждого представления есть презентатор, который выполняет работу представления.
В MVVM это то же самое, но когда вы можете использовать команды.

Я также видел, что если вам нужно событие, это как с MVP; делегирование события ведущему / View-Model, то есть если это не работа для представления (например, обновление пользовательского интерфейса).

С другой стороны, View-Model не имеет ссылки на View, поэтому мне нужно больше играть с привязками данных.
Вы должны использовать DelegateCommands (это то же самое, что RelayCommands, верно?).

Хм ... больше вопросов ... Безопасно ли использовать одну и ту же модель представления с двумя представлениями / пользовательскими элементами управления?

Ох ... Я столкнулся с проблемой вчера, когда я играл в MVVM.
Я создалCommandReference моей команды для привязки клавиш, и я назначил эту ссылку на свойство команды моей кнопки, ну,CanExecuted работал в первый раз, но он не обновилIsEnabled собственность, когдаCanExecuted было правдой. Я исправил это, привязав команду непосредственно к кнопке и не используя ссылку. Вопрос заключается в следующем: почему какой-то код связывает ссылку с объектами и почему другой код связывает команду напрямую?

Какие вещи, связанные с MVVM я должен изучить? (Вчера я видел нечто, называемое прикрепленным поведением, но я не знаю, что это такое).

Я переписываю приложение для заметок, которое я разработал с использованием MVP, но теперь с MVVM. Я заменю события командами (используя DelegateCommand), исключу ссылки на представления в View-Model, и я думаю, что это все, потому что примеры, которые я видел в MVVM, очень похожи на MVP.

Хорошо, я буду признателен, если вы укажете мне на все недоразумения, которые у меня есть с этим шаблоном.

Спасибо и в будущем буду помогать новичкам в MVVM :)

Ответы на вопрос(2)

Ваш ответ на вопрос