2016-11-03 10 views
0

저는 WPF 프로젝트를 만들고 프리즘을 구현했습니다. DAL에서 Persistence라는 데이터베이스에 대한 연결을 처리하는 라이브러리가 있는데이 라이브러리는 EntityFramework을 사용하며 일부 엔터티가 있습니다. 는 또한 지금 어떤 DomainModels를 가지고 - 나는 주어진 시나리오를 어떻게해야합니까 :모델의 변경 사항을 ViewModels에 알릴 때 EventAggregator를 사용하거나 내 도메인 모델에 INotifyPropertyChanged를 구현해야합니까?

은 내가 IUser 유형 DomainModel 등 모두 ActiveUser (현재 로그인 한 하나)의 참조가 2 ViewModels이, 그 우리는 IUserService이라는 서비스를 통해 얻습니다. ViewModel1IUser 변경하는 경우

IUserFunds라는 속성을 가지고 말할 수 있습니다 - 내가 올바른 데이터를 표시하는 View 있도록 업데이트해야합니다 IUserFunds에 변화가 있다는 것을 ViewModel2 통지 어떻게.

  1. 내가 내 모델뿐만 아니라 내 ViewModels에서 INotifyPropertyChanged을 시행하고, 다음 각 ViewModel 다음 PropertyChanged 이벤트를 수신해야하며, 변경된 특성에 따라, 그에 따라 업데이트? (나는 이런 종류의 추한 발견) EventAggregator을 사용하여 내 DomainModels (?

  2. PropertyObserver<TPropertySource> : IWeakEventListener 클래스와 같은 것을 구현합니까? 이 같은 몇 가지 이벤트가있는 경우

감사

+0

Iuser 인스턴스 싱글 톤입니까? –

+0

@SatyajitMohanty 아니요. – Nicholas

답변

1

1.2은 모두 작업, 나는 그렇지 1 때문에, 2 가고 싶어합니까한다 모든 것을 더 로컬 스케일로 유지합니다.

일 경우 3으로 이동하십시오.도 마찬가지입니다. PropertyObserver은 관련된 객체의 수명을 고려할 필요가 없으므로 (더 멋진 구문을 말하는 것이 아니기 때문에) 훨씬 더 간단하게 처리합니다. INotifyPropertyChanged