MVVM модель дизайна - PullRequest
       4

MVVM модель дизайна

1 голос
/ 28 июня 2009

В шаблоне MVVM я не хочу думать о представлении при создании модели. Поэтому я использую открытые свойства с данными, хранящимися в ILists и так далее. Но тогда моя модель представления не информируется об изменениях, внесенных в эти списки на стороне модели. Должен ли я использовать ObservableCollections в моей модели вместо этого? Но мне это кажется странным.

Ответы [ 2 ]

4 голосов
/ 28 июня 2009

Да, вы должны использовать ObservableCollections. Не знаю, что в этом странного? Все, что делает ObservableCollection, это уведомляет любых слушателей об изменениях. Это не обязательно должен быть пользовательский интерфейс.

Ваша ViewModel не должна ничего знать о реальном View, использующем его, но, поскольку это модель View , можно предположить, что что-то собирается использовать, поэтому ObservableCollection - это путь, а также, насколько я знаю, обычная практика.

Кроме того, слушатели точно знают, какие элементы были добавлены или удалены, поэтому нет необходимости обновлять весь список, когда происходят изменения => лучшая производительность для обновлений. Это также то, что говорит Microsoft (хотя пока не могу найти статью об этом)

3 голосов
/ 28 июня 2009

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

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