2016-11-03 7 views
0

Я создаю проект WPF и внедрил Prism. У меня есть DAL, где у меня есть библиотека, которая обрабатывает соединение с DataBase под названием Persistence, эта библиотека использует EntityFramework и имеет некоторые Entities. Кроме того у меня есть некоторые DomainModels, сейчас - что мне делать с данного сценария:Должен ли я использовать EventAggregator или реализовать INotifyPropertyChanged в моих моделях доменов при уведомлении ViewModels об изменениях в модели?

У меня 2 ViewModels, что оба имеют ссылку из ActiveUser (тот, который в настоящее время вошли в систему), как IUser типа DomainModel, то мы получаем услугу под названием IUserService.

Позволяет сказать, что это IUser имеет свойство Funds, если ViewModel1 изменения IUser - как я Уведомлять ViewModel2, что есть изменения в IUser и Funds должны быть обновлены поэтому View отображает правильные данные.

  1. ли я Реализовать INotifyPropertyChanged в своих моделях, а также мои ViewModels, а затем каждый ViewModel должен затем слушать PropertyChanged события, и в зависимости от свойств, которые изменились, обновить соответствующим образом? (Я нахожу этот уродливый, хотя)

  2. Использовать ли я EventAggregator и публиковать/подписывать события, публикуя мои DomainModels (?) И подписываясь на мои ViewModels?

  3. Я реализую что-то вроде класса PropertyObserver<TPropertySource> : IWeakEventListener?

Благодаря

+0

Является ли экземпляр Iuser singleton? –

+0

@SatyajitMohanty Нет, это не – Nicholas

ответ

1

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

И кстати, если вы идете на 1., пойти на 3. также. PropertyObserver делает обработку INotifyPropertyChanged намного проще, потому что вам не нужно учитывать время жизни задействованных объектов (не говоря уже о более сильном синтаксисе).

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

  • Нет связанных вопросов^_^