MVVM действительно полезен?

Ответ варьируется, в зависимости от какого механизма устройства хранения данных Вы используете. Идеальный сценарий - то, при использовании InnoDB. В этом случае можно использовать эти --single-transaction флаг, который даст Вам когерентный снимок базы данных в то время, когда дамп начинается.

13
задан tom7 8 July 2009 в 22:55
поделиться

3 ответа

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

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

Чтобы ответить на ваш вопрос более прямо, даже если кажется глупым привязываться к ViewModel, когда в вашей модели уже есть все, вам часто понадобится одна небольшая корректировка модели, которая нужна только для View . Со временем эти небольшие изменения вкрадутся в ваши Модели, где им не место. Это сделает ваши модели более сложными, чем они должны быть.

Что я часто делаю, когда у меня есть Модель, в которой «есть все», так это то, что я добавляю ViewModel, который содержит одно свойство, Модель. Затем в своих привязках я просто привязываюсь к Model.Name, Model.Age и т. Д. Это действительно не требует усилий. Позже, если мне понадобятся настройки только для представления, у меня уже есть готовый класс ViewModel. Это также делает ваш код более интуитивно понятным и понятным. Вы не удивитесь, я привязался к модели или ViewModel в этом случае? Это всегда будет ViewModel.

12
ответ дан 1 December 2019 в 21:25
поделиться

INotifyPropertyChanged и INotifyCollectionChanged - не единственные аспекты, которые следует учитывать ... Во многих случаях данные, представленные моделью, не могут быть легко использованы Посмотреть. Роль ViewModel состоит в том, чтобы действовать как адаптер между моделью и представлением: предоставлять данные в форме, которая позволяет представлению легко привязываться к ним, предоставлять команды, к которым представление может связываться для выполнения действий ... Обычно модель не предоставляет ICommand s: если это так, то модель специфична для WPF, что никогда не бывает хорошо, если вы хотите повторно использовать в каком-то другом приложении, не относящемся к WPF ...

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

6
ответ дан 1 December 2019 в 21:25
поделиться

Я использовал MVVM для двух проектов, и вот несколько вещей, которые я делал в ViewModel:

  • Преобразование данных из модели (когда вы используете ViewModel, это делает жизнь легче, когда спецификации пользовательского интерфейса меняются, вы не
6
ответ дан 1 December 2019 в 21:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: