MVP-VM против MVVM в реализации привязки команд

1

У меня есть настольное приложение, и я бы хотел использовать MVVM в качестве шаблона проектирования, мне кажется, что Command Binding не так просто применить в приложении WPF.

Я прочитал эту статью, в которой объясняется, как использовать приложение MVP-VM настольных приложений. Поэтому мне нужно знать:

  1. MVP-VM может заменить MVVM, особенно в концепции привязки Command Binding?
  2. Если это так, почему мы все еще используем MVVM для приложений XAML и MVP для winforms? Я имею в виду, почему мы не переходим к глобальному решению, например MVP-VM?

Благодаря,

  • 4
    we don't migrate to a global solution like MVP-VM? - потому что никто не хочет отказываться от современных методов и парадигм (MVVM), чтобы поддерживать устаревшую технологию, такую как winforms. Если бы это было так, вы могли бы также спросить, почему бы нам не использовать парадигму пользовательского интерфейса, совместимую с DOS 1.0 и GW-Basic с 1950 года ...
  • 3
    Кстати, MVVM - это не то, что вы можете «щелкнуть правой кнопкой мыши -> преобразовать в MVVM» после того, как ваше приложение написано. Если вы не использовали MVVM с самого начала, вам придется удалить весь код и начать все сначала, что в большинстве случаев не имеет никакого смысла. Если вы собираетесь это сделать (или если вы говорите о новом проекте, который только начинается), вы можете просто использовать современные технологии и навсегда забыть о формах.
Показать ещё 6 комментариев
Теги:
wpf
winforms
mvvm
mvp

1 ответ

1
Лучший ответ

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

Это не бесстыдный плагин :)

Я использую следующий (MVVM) шаблон при создании новых проектов WPF для клиентов, он содержит много материала, но у него есть пример привязки команды, где команда определена в виртуальной машине под названием Child2ViewModel, и это связано с данными шаблон.

Он не использует сторонние MVVM-структуры, поскольку это урезанная импликация - это означает, что в зависимости от ваших потребностей существует несколько реализаций интерфейса ICommand.

https://github.com/oriches/Simple.Wpf.Template

Для создания кода вам потребуется доступ к NuGet.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню