Облегченные модели просмотра для WPF - PullRequest
2 голосов
/ 19 августа 2011

Я понимаю полезность MVVM в контексте большой команды, разрабатывающей термоусадочную пленку в течение длительного периода времени. Но в контексте внутреннего LOB-приложения MVVM кажется излишним, и у меня возникают проблемы с проглатыванием накладных расходов по отладке привязанных данных, переходу от уровня к слою и извлечению виртуальных машин, которые едва превышают модель с помощью команды или двух , Даже принимая эти накладные расходы, я все еще оставляю дыры в MVVM-подобных диалогах. Несколько вещей, которые я рассмотрел:

  • Привязка непосредственно к модели и выполнение обработчиков событий старой школы для взаимодействия форм
  • Связывание пользовательского элемента управления или окна с самим собой, эффективно использующий код в качестве виртуальной машины.
  • Включить свойство в моей виртуальной машине для ссылки на связанный вид.
  • Создание подклассов ViewModel для View.

Вышеуказанные предметы и их комбинации решают некоторые проблемы, но не все. Я понимаю, что могу пожертвовать тестируемостью. С какими другими техническими (не концептуальными, как SOC) проблемами я столкнусь, используя один или несколько из этих методов?

Ответы [ 2 ]

2 голосов
/ 19 августа 2011

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

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

Если хотите, у меня есть пример очень простого приложения с MVVM здесь

0 голосов
/ 19 августа 2011

Повторное использование кода приходит на ум.Правильно написанные виртуальные машины могут быть использованы в будущем за реализациями Silverlight или WP7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...