Ich baue ein WPF-Projekt und habe Prism implementiert. Ich habe eine DAL, wo ich eine Bibliothek habe, die die Verbindung zur DataBase namens Persistence behandelt, verwendet diese Bibliothek EntityFramework
und hat einige Entitäten. Außerdem habe ich einige DomainModels, jetzt - was soll ich tun mit dem angegebenen Szenario:Sollte ich den EventAggregator verwenden oder INotifyPropertyChanged für meine Domänenmodelle implementieren, wenn ViewModels Änderungen an dem Modell mitgeteilt werden?
Ich habe 2 Viewmodels, die sowohl eine Referenz des ActiveUser
(derjenige, der gerade angemeldet ist) haben als IUser
Typ DomainModel, dass Wir bekommen über einen Service namens IUserService
.
Lassen Sie sich sagen, dass diese IUser
eine Eigenschaft hat Funds
genannt, wenn ViewModel1
IUser
ändert - wie dieser Artikel i ViewModel2
, dass es sich Änderungen an IUser
und Funds
sollte so die View
aktualisiert werden, um die richtigen Daten.
Do i
INotifyPropertyChanged
in meiner Models als auch meine Viewmodels implementieren, und dann sollte jederViewModel
dann auf diePropertyChanged
Ereignis hören, und in Abhängigkeit von der Eigenschaft, die geändert hat, entsprechend aktualisieren? (Ich finde diese Art von hässlichen obwohl)Verwenden Sie die
EventAggregator
und veröffentlichen/abonnieren Sie die Ereignisse, veröffentlichen von meinem DomainModels (?) Und abonnieren auf meinem ViewModels?Implementiere ich etwas wie eine
PropertyObserver<TPropertySource> : IWeakEventListener
Klasse?
Dank
Ist Iuser Instanz Singleton? –
@ SatyajitMohanty Nein, ist es nicht – Nicholas