Tipp der Woche 03.02.2023, 14:57 Uhr

Von Winforms über MVVM zu .NET MAUI

Microsoft-Mitarbeiter Klaus Loeffelmann erklärt die wichtigsten Konzepte und Architekturmuster von MVVM, einschliesslich Datenbindung und Befehlsbindung. Zudem zeigt er, wie man .NET-7-Tools nutzt, um Winforms-Apps zu modernisieren und sie auf .NET MAUI vorbereitet.
(Quelle: Microsoft.com)
Grosse Winforms-Anwendungen können oft von der Verwendung des Model-View-ViewModel (MVVM)-Musters profitieren, um Wartung, Wiederverwendung und Unit-Tests zu vereinfachen. In seinem Beitrag erklärt Microsoft-Mitarbeiter Klaus Loeffelmann die wichtigsten Konzepte und Architekturmuster von MVVM, einschliesslich Datenbindung und Befehlsbindung. Dann lenkt er den Blick darauf, wie man moderne Bibliotheken, .NET 7-Features und Visual Studio-Tools nutzt, um Winforms-Anwendungen effizient zu modernisieren. Am Ende zeigt er, wie dieser Ansatz Winforms-Anwendungen für den plattformübergreifenden Einsatz mit beliebten Frameworks wie .NET MAUI vorbereitet, die den MVVM-Code für iOS, Android, Mac und Windows nutzen können.
Der umfangreiche Beitrag stellt nicht nur klar, warum Anwendungen mit umfangreichem Code-Behind zum Alptraum werden können, sondern liefert zudem das erforderliche Know-how sowie Code-Beispiele in CSharp und viel Screenshots zur Umstellung von Winforms-Anwendungen auf das Architekturmuster Model-View-ViewModel (MVVM).
Command Binding in Winforms wird es einfacher machen, Winforms-Anwendungen auf praktikable Weise zu modernisieren. Die Trennung der Benutzeroberfläche von der Geschäftslogik durch die Einführung von UI-Controllern kann Schritt für Schritt im Laufe der Zeit durchgeführt werden. Die Einführung von Unit-Tests macht Winforms-Anwendungen robuster. Die Verwendung von ViewModels in zusätzlichen UI-Stacks wie .NET MAUI ermöglicht es, Teile einer LOB-App plattformübergreifend zu nutzen und Mobile Apps für Bereiche anzubieten, in denen dies sinnvoll ist. Ausserdem wird die Übernahme von Azure-Diensten mit einer soliden Architektur viel einfacher, und wesentlicher Code kann auch leicht mit dem Ableger der Mobile App geteilt werden.

Bernhard Lauer
Autor(in) Bernhard Lauer



Das könnte Sie auch interessieren