Um einfache Code-Wiederverwendbarkeit und Testbarkeit von XAML-basierten Applikationen zu ermöglichen wurde der MVVM Pattern (Model-View-ViewModel) geschaffen. Dieser Pattern erlaubt einfachen Code Reuse zwischen WPF, WinUI, MAUI, etc. In diesem Workshop starten wir mit einem Einstige in den MVVM Pattern. Mit dem MVVM Pattern alleine ist aber nicht die Applikations-Architektur von XAML-basierten Applikationen gelöst. Der MVVM Pattern benötigt weitere Features und Patterns die in diesem Workshop behandelt werden. Sie lernen wie Views mit ViewModels verbunden werden, Szenarien wie Master/Detail Views, Validierung der Eingabe, und mehr.
Inhalt
- Einführung in den MVVM Pattern
- Einsatz von Dependency Injection
- Data Access und Aufruf von REST Services
- ViewModels und Views
- Messaging mit Events
- User Input und Validierung
- Master/Detail Views
- Navigation
- Vergleich von MVVM Frameworks
Einführung in das MVVM Pattern
Hier lernen Sie eine Einführung in das MVVM Pattern - mit einem Vergleich zum Model-View-Controller (MVC) und dem Model-View-Presenter (MVP) Pattern. Behandelt werden außerdem Features die erst den MVVM Pattern ermöglichen: data binding und commands.
Dependency Injection
Code reuse und einfaches Unit Testing sind zei der Ziele die mit Dependency Injection erzielt werden. Sie lernen die Grundlagen der Dependency Injection (oder das Holywood Prinzip), und auch den Einsatz von Dependency Injection Containern.
Data Access und Aufruf von REST Services
Zugriff auf REST Services mit dem Repository Pattern, inkl. Caching von Daten - hier lernen Sie den Zugriff auf API Services von der Client Applikation.
ViewModels und Views
Ein View-Model ist mit Views verbunden. Views werden hauptsächlich mit XAML Code, View-Models mit C# erstellt. Die Verbindung erfolgt über Data Binding. Hier lernen Sie das Erstellen von Views und View-Models, sowie unterschiedliche Möglichkeiten diese miteinander zu verbinden.
Messaging mit Events
Öfters brauchen Sie Kommunkation zwischen unterschiedlichen View-Models, oder ein View-Model muß mit einem View kommunizieren. Bei solch einer Kommunkation ist es wichtig das Coupling gering zu halten. Dabei helfen Events.
User Input und Validierung
Nachdem User Daten eingegeben haben, hilft es diese Daten zu validerien bevor sie zum Server geschickt werden. Wie Daten validiert werden können lernen Sie hier.
Master/Detail Views
Daten müssen oft mit Master/Detail angezeigt werden. Hier lernen Sie wie das mit MVVM gemacht werden kann.
Navigation
Unterschiedliche Plattformen bieten verschiedene Varianten um zwischen Pages zu navigieren. Diese eingebauten Navigations-Features stehen oft im Konflikt mit dem MVVM Pattern. Wie das gelöst werden kann, aber auch pragramtische Varianten um die Navigation einfach bewerkestelligen zu können werden hier behandelt.