2010-05-14 6 views
1

В моем приложении у меня есть объект модели, содержащий коллекцию, который позволяет сказать, что List<Chair> часто обновляется. ViewModel имеет ObservableCollection<ChairViewModel>, который обертывает List<Chair>.Каков наилучший способ сохранить коллекцию ViewModel в синхронизации с моделью

С List<Chair> часто обновляется, мне нужно поддерживать ObservableCollection<ChairViewModel> в синхронизации с ним, чтобы каждое изменение в List<Chair> отражалось на интерфейсе WPF.

Любые идеи?

ответ

2

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

Некоторых подходов, которые я использовал в прошлом, является:

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

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

Смежные вопросы