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.
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.
Autor(in)
Bernhard
Lauer