MVVM блок-схема вопроса - PullRequest
       2

MVVM блок-схема вопроса

0 голосов
/ 31 августа 2010

Я новичок в WPF и после прочтения этой статьи

MVVM-шаблон для приложения для создания диаграмм с WPF - Преобразование enum в xxxViewModel

Мне нравитсячтобы узнать, можно ли использовать MVVM или рекомендовать использовать его для простого приложения, которое я хотел бы попробовать: Простое приложение - это дизайнер потоковых диаграмм wpf, который позволяет пользователю добавлять значки на холст так, чтобы они были связаны друг с другом.Также мне хотелось бы знать, как разработчики реализуют код, в котором активный узел выделяется после короткого промежутка времени в цикле while.т.е. предположим, что в приложении после перетаскивания есть 3 узла.время активный узел 1–5-е A 6–10-й B (активный узел перемещен из A в B) 11–15-й C (активный узел перемещен из B в C) 16–20-й A (активный узел из C в A из-за связи по циклу while)

Подходит ли это для использования шаблона MVVM?

Спасибо

1 Ответ

3 голосов
/ 31 августа 2010

MVVM сводится к двум основным компонентам:

  • Техническое обслуживание
  • Тестируемость

Основные преимущества, которые вы получаете от шаблона MVVM:

  1. Все, что MVP / MVC приносит на стол
  2. Ваша модель представления (логика, лежащая в основе ваших представлений) легко тестируется, потому что вы можете создавать их экземпляры вне контекста системы WPF / Silverlight / ASP / независимо от того, что они (по сути, они POCO.
  3. Ваша логика отделена, поэтому вы можете легко заменить горячую логику за представлением с помощью IoC / DI или просто использовать другую модель. Смена кода в одной строке и все ваше поведение меняется.

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

Однако, если вы планируете постоянно поддерживать / обновлять / расширять свое приложение и вам необходимо тестировать функциональность пользовательского интерфейса, это неоценимо. Это может сэкономить вам огромное время на большом рефакторе пользовательского интерфейса, если вы потратили время на правильную настройку в начале.

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

Примечание: помните, что MVVM - это руководство, а не правило, вы можете нарушать его там, где это имеет смысл, просто не забывайте думать о последствиях этого

...