Wzorzec projektowy MVVM.
Nazwa wzorca MVVM pochodzi od nazw Model-View-ViewModel:
- View – cała warstwa prezentacji, czyli dla nas XAML. Szereg innych języków i technologii może implementować MVVM ale dla nas na razie wyznacznikiem będzie XAML. (Dla Win7 będzie to powoli zachodzący WPF). Ideą przewodnią jest stworzenie takiego widoku, który po stronie Code-Behind będzie miał tylko domyślny kod.
- ViewModel – jest to warstwa środkowa, różne spotkałem definicje od czasu gdy sam zająłem się tym tematem. Jedna z nich stanowiła, że ViewModel jest tylko małym pośrednikiem pomiędzy widokiem i modelem. Inne, że całym mózgiem aplikacji. Obie teorie są trafne, zależy tylko jakie są wymagania.
- Model – ostatnia warstwa, zapewnia dostęp do danych. Tak jak pisałem przy ViewModelu różne teorie podlegają pod Model. Jeśli chodzi o komunikację z ViewModelem ideowo jest to też INotifyPropertyChanged, IObservable itp – oddzielenie warstw, osoba odpowiedzialna za tą część robi swoje nie myśli o czymś innym.