Einführung
Das Model-View-ViewModel-Muster (MVVM) ist ein Softwareentwurfsmuster. Entwurfsmuster sind Regeln und Vorlagen, die zu einem besseren oder konsistenteren Anwendungscode beitragen. Sie verwenden das MVVM-Muster, um die Verhaltenslogik der App vom Code der Benutzeroberfläche zu trennen – und zwar in einer Weise, die das Durchführen von Unittests unterstützt.
Beispielszenario
Angenommen, Ihr Unternehmen stellt eine Verwaltungssoftware für Personalabteilungen her. Die Software wird verwendet, um Details über die Mitarbeiter des Unternehmens zu verwalten und zu überprüfen. Das bestehende System ist webbasiert. Sie wurden gebeten, eine mobile App zu erstellen, die mit den gleichen Back-End-APIs verwendet werden kann, die auch das Websystem verwendet. Sie wissen, dass die Back-End-APIs und das Web-Front-End umfassend durch Komponententests abgedeckt werden. Und Sie möchten diesen Standard für die mobile App beibehalten. Sie haben davon gehört, dass das MVVM-Muster beim Entwurf von mobilen Apps hilfreich sein kann, um maximale Testfähigkeit zu gewährleisten. Deshalb möchten Sie das MVVM-Muster ausprobieren.
MVVM selbst ist ein Entwurfsmuster, das die Grundlage für zahlreiche Frameworks und Programmierungs-Toolkits darstellt. Die meisten dieser Frameworks stellen darüber hinaus weitere Elemente wie z.B. Navigations- und Messagingabstraktionen bereit, die MVVM bei der Unterstützung von Unittests helfen. Sie konzentrieren sich im Rahmen dieses Moduls auf die Grundlagen des Musters, weil Frameworks in Bezug auf ihre Implementierungen stark variieren können.
Was Sie tun werden
In diesem Modul lernen Sie die Bestandteile des MVVM-Musters und die Aufgaben kennen, die das Model, die View und das ViewModel übernehmen. Anschließend schreiben Sie dann Code in ein Ansichtsmodell, um das Anwendungsverhalten so zu behandeln, dass es von den Benutzeroberflächenbibliotheken (sogar von .NET MAUI selbst) isoliert ist.
Lerninhalte
In diesem Modul lernen Sie Folgendes:
- Wann sollte das Model View ViewModel-Muster verwendet werden?
- Verwenden eines ViewModels zum Steuern des visuellen Verhaltens.
- Verbessern der Testfähigkeit des Codes über Eigenschaften zur Datenbindung.