Форум программистов, компьютерный форум, киберфорум
C#: WPF, UWP и Silverlight
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
Заблокирован

Может ли потребоваться применение механизма событий при использовании паттерна MVVM?

08.08.2018, 12:27. Показов 1515. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Паттерн MVVM провозглашён как базовый паттерн для приложений WPF. В паттерне MVVM используется механизм команд.
То есть, если приложение WPF - значит паттерн MVVМ и механизм команд. Так?
Можно ли рассматривать в этом контексте механизм событий как рудиментарный, использовать который нет смысла в приложениях WPF?
Если нет - то в каких случаях механизм событий имеет смысл применять в прил WPF?
И попутный связанный с темой вопрос - в каких случаях применение паттерна MVVM для приложений WPF НЕ целесообразно?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
08.08.2018, 12:27
Ответы с готовыми решениями:

EventArgs при использовании ICommand для событий в MVVM
Пытаюсь, вроде как, делать программу по законам MVVM. И всё пока отлично, за исключением событий интерфейса, например, Drag'n'drop, или...

Необходима альтернатива при использовании Proxy паттерна
Здравствуйте, возникла проблема, которую я так и не придумал, как рационально решить. В общем, задача состояла в том, чтобы отследить...

Применение паттерна Decorator при создании элемента калькулятора
Здравствуйте. Мне необходимо реализовать функции калькулятора с помощью паттерна Decorator. Вроде бы саму его идею понял, но вот с...

4
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
08.08.2018, 13:59
Всё гуглится (с огромной кучей примеров) по IEventAggregator

Добавлено через 2 минуты
Цитата Сообщение от titan4ik Посмотреть сообщение
в каких случаях применение паттерна MVVM для приложений WPF НЕ целесообразно?
ни в каких))) сделал для себя даже спецом шаблон проекта со всем_всем_всем:
PRISM+RelayCommand+Resources.xaml+FullyO bservableCollection+MahApps+StructureMap (для себя)
1
22 / 21 / 11
Регистрация: 13.11.2016
Сообщений: 75
08.08.2018, 14:24
Если приложение написано с использованием WPF, то это не означает, что обязательно используется MVVM паnтерн. MVVM паттерн имеет смысл использовать, в основном, в средних и больших приложениях, в них данный подход окупается за счёт того, что поддерживаемость кода упрощается. Для небольших приложений подход MVVM скорее увеличит затраты времени на разработку. В случае небольшого приложения, где не предполагается постоянная работа по увеличению функционала, MVVM паттерн врядли будет целесообразен.
На счёт рудиментарности механизма событий - я вообще не понимаю как такие вопросы появляются, ведь по сути Command ни что иное как обёртка над механизмом событий, в нём есть тот же EventHandler. К тому же есть множество событий которые необходимо обрабатывать, но они ни как напрямую не связанны с бизнес-логикой, например DragAndDrop - его реализация через команды может стать головной болью и врядли будет оправдана.
2
Заблокирован
09.08.2018, 18:37  [ТС]
Цитата Сообщение от skilllab Посмотреть сообщение
сделал для себя даже спецом шаблон проекта со всем_всем_всем:
PRISM+RelayCommand+Resources.xaml+FullyO bservableCollection+MahApps+StructureMap (для себя)
Наверное это правильно)

Добавлено через 12 минут
Цитата Сообщение от Padmasambhava Посмотреть сообщение
В случае небольшого приложения, где не предполагается постоянная работа по увеличению функционала, MVVM паттерн врядли будет целесообразен.
Вот это очень распространенное и очень понятное мнение. Но несколько строк стандартного кода, по сути, не шибко обременяют.
Что касается "рудиментарности", то речь же шла о прямом использовании механизма событий вместо команд. Честно говоря, имел ввиду конкретно взаимодействие пользователя с программой через экранный интерфейс.
Цитата Сообщение от Padmasambhava Посмотреть сообщение
К тому же есть множество событий которые необходимо обрабатывать, но они ни как напрямую не связанны с бизнес-логикой, например DragAndDrop - его реализация через команды может стать головной болью и врядли будет оправдана.
Ааа... вот. С этим все согласны?!
А что ещё?
0
 Аватар для skilllab
296 / 236 / 58
Регистрация: 03.02.2011
Сообщений: 2,051
Записей в блоге: 1
10.08.2018, 07:50
Цитата Сообщение от titan4ik Посмотреть сообщение
С этим все согласны?!
С этим нельзя быть НЕ согласным (согласно MVVM )
Паттерны созданы для программистов, а не наоборот.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.08.2018, 07:50

Масштабирование системы при использовании паттерна Singleton
Добрый день, как доказать или опровергнуть, что архитектура теряет гибкость и расширяемость при активном использовании паттерна Singleton.

Отрисовка на Canvas при использовании MVVM
Проблема следующая: Есть список объектов, которые должны быть отражены в виде прямоугольников на холсте (Canvas). Места их отображения...

Viewmodel при использовании wpf и mvvm
Совсем недавно начал осваивать wpf и соответсвенно паттерн mvvm. Есть одно GUI (MainWindow). Оно должно пользоваться model через...

Реализация паттерна MVVM
Добрый день, форумчане. Ни разу не пользовался данным паттерном программирования, прочитал уже кучу статей, но ни одна из них не может мне...

Спецификация MVVM паттерна
Доброго времени суток форумчане! Возникло затруднение с пониманием реализации MVVM паттерна. Саму модель Model-ViewModel-View я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
FPS контроллер с анимированными Y-Bot и 3D-звуком miniaudio (Box3D, Recast, BehaviorTree.CPP, ozz-animation, ImGui, OpenGL и SDL3)
8Observer8 18.10.2026
Содержание блога | English Version Полное мультиплатформенное руководство по стартовому проекту с FPS-контроллером игрока, анимированными роботами Y-Bot с 4-слойным блендингом, 3D-физикой Box3D,. . .
Локальный http сервер
Argus19 17.10.2026
Локальный http сервер На работе, на двух локальных компьютерах круглосуточно работают программы опроса приборов с записью в книги Excel,которые раз в сутки записываются на сервер компании. Т. к. . . .
Копировать Windows на новый диск на UEFI
damix 17.10.2026
https:/ / uriesk. wordpress. com/ 2016/ 11/ 01/ move-window-10-to-ssd-on-a-uefi-dualboot-system-with-basic-linux-tools/ TL DR Вставляем диск, а старый подключаем через переходник, грузимся с лайва. . .
ИИ не может найти нужный язык в списке
Supersumestria 05.10.2026
Я ему даю вот такое изображение и прошу найти и подчеркнуть немецкий язык. Возвращает он вот это: https:/ / i. **********/ vqBWLe2. png Нужную строчку в 3й колонке просто выдумал. . Это. . .
Новая последняя моя музыка в SUNO
zorxor 05.10.2026
Здравствуйте, дорогие мои друзья! С большой радостью я хотел бы представить вам свою новую последнею музыку, которую сгенерировала мне по моей просьбе нейросеть SUNO. С уважением, zorxor. Это. . .
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru