Witam!
Proszę Was o pomoc z wzorcem MVVM. Otóż jak wiadomo, istnieją w nim trzy warstwy: View, ViewModel i Model. W przypadku WPF'a View to plik XAML + kilka linijek z Code-Behind (Init i dopasowanie DataContext). W ViewModel'u trzymamy wartości pól z okna, komendy - całość jest dziedziczona po INotifyPropertyChanged. Każda warstwa ma swojego locatora, przez którego można uzyskać dostęp do innych obiektów z tejże warstwy. A Model...
No właśnie, i tutaj mam problem. Model ma za zadanie ładować/trzymać dane i na nich operować - słowem, cała logika aplikacji. Jednak jak on ma się do pozostałych dwóch warstw? Czy w każdym ViewModel należy tworzyć obiekty modelu, czy są to klasy-singletony? Bo VM w reakcji na np. kliknięcie buttona musi wywołać jakoś te dane z modelu i w następstwie zaktualizować widok.
Mam mały mętlik w głowie z tym związany - każdy artykuł implementuje to inaczej, a MVVM to ciężki wzorzec :/
Proszę o jakieś jasne wytłumaczenie jak powinno to wyglądać.
Pozdrawiam!