MVVM-Grundlagen für Windows Phone 7-Entwickler

Bei der Windows Phone 7-Entwicklung kommt man kaum an MVVM (Model-View-ViewModel) vorbei. Es sind nur schwer übersichtliche Informationen darüber zu finden sind, warum, wo und wann das Muster anzuwenden ist. Ein Interview mit Ginny Caughey, Windows Mobile MVP, sollte darüber Aufschluss geben. ZDNet hat die Erkenntnisse aus diesem Gespräch zusammengefasst.

Der Nutzen von MVVM

Wie viele der in letzter Zeit populären Muster trennt MVVM die verschiedenen Probleme und erleichtert das Unit-Testing. Im Zusammenhang mit einer Silverlight– oder Windows Phone 7-Anwendung entfernt es die gesamte Anwendungslogik des zugrunde liegenden Codes und verwendet diesen nur um die XAML (also die „View“) an das in einer separaten Datei befindliche View Model zu binden. Da Datenbindung verwendet wird, muss man keine umfangreichen Codes schreiben, um den UI-Content zu bevölkern, auf Benutzereingaben zu reagieren oder andere Arten von IO-Aufgaben zu bewältigen. Es ist außerdem viel einfacher, Code für die Wiederherstellung des Anwendungszustands nach Deaktivierung der Anwendung zu schreiben, da man den Datenkontext serialisieren kann.
Doch Vorsicht: Die Erfahrung zeigt, dass MVVM bei einfachen Anwendungen den Aufwand nicht lohnt. Es ist zwar an sich nicht schwer zu implementieren, aber es ist nur wenig sinnvoll, all die Dateien zu erstellen und dann mühsam die Probleme zu trennen, wenn es ohnehin nur wenig zu trennende Probleme gibt.

Die drei Teile von MVVM

Das Model enthält die Geschäftslogik. Bei einer datengesteuerten Anwendung erfolgt hier beispielsweise die Datenkonnektivität. In stärker auf Algorithmen basierenden Anwendungen sind hier die Berechnungen zu finden.
Das View Model nimmt die Informationen vom Model und wandelt sie in eine von der View verwendbare Form um. Es nimmt außerdem die Änderungen aus der View und ruft die entsprechende Funktionalität im Model auf. Es handelt sich also um einen Gateway oder eine Übersetzungsschicht zwischen dem Model und der View. Die Schnittstelle INotifyPropertyChanged ist die Lösung für die Handhabung der Bindung mit der View.
Die View repräsentiert die Benutzerschnittstelle. In einer Windows Phone 7-Anwendung wird sie mit der XAML eines Bildschirms implementiert.

MVVM Light Toolkit und Prism

Ginny Caughey zufolge sind MVVM Light Toolkit und Prism zwei hervorragende und sehr beliebte Optionen für die Arbeit mit MVVM. MVVM Light hat den Vorteil, sehr minimalistisch zu sein, was die Ressourcennutzung reduziert. Dies mag zwar bei einer Windows Presentation Foundation (WPF) oder einer Silverlight-Desktop-Anwendung zweitrangig sein, aber beim Schreiben von Windows Phone 7-Anwendungen spielt dieser Aspekt eine sehr wichtige Rolle. Sie wies außerdem darauf hin, dass in mit MVVM Light geschriebenen Anwendungen die Aktualisierung des Codes sehr einfach ist.

Der Debugging-Aspekt

Ein wichtiger Aspekt dieses Programmierungsstils ist das Debugging. MVVM arbeitet mit Event-Handling, was bedeutet, dass der Code abstrakter ist. Es besteht kein direkter Pfad von der UI zum Model. Nach einigen wenigen Anpassungen gewöhnt man sich jedoch rasch an die anderen Debugging-Muster, die keinerlei Probleme bereiten.

Ressourcen zu MVVM

Hier einige zusätzliche Ressourcen mit Informationen zu MVVM:

ZDNet.de Redaktion

Recent Posts

Apple meldet Rekordumsatz im vierten Fiskalquartal

Die Einnahmen klettern auf fast 95 Milliarden Dollar. Allerdings belastet der Steuerstreit mit der EU…

2 Tagen ago

Microsoft steigert Umsatz und Gewinn im ersten Fiskalquartal

Das stärkste Wachstum verbucht die Cloud-Sparte. Microsoft verpasst bei der Umsatzprognose für das laufende Quartal…

2 Tagen ago

Bezahlkarten: Infineon verspricht weniger Plastikmüll

Ein Coil-on-Module-Package integriert Chip und Antenne, was den Kartenkörper fast vollständig recycelbar machen soll.

3 Tagen ago

Firefox 132 schließt elf Sicherheitslücken

Mindestens eine Anfälligkeit erlaubt das Einschleusen von Schadcode. Außerdem erweitern die Entwickler den Support für…

3 Tagen ago

Telekom nennt Termin für 2G-Ende

Zum 30. Juni 2028 soll das 2G-Netz komplett abgeschaltet werden und den Weg für schnellere…

3 Tagen ago

Alphabet übertrifft die Erwartungen im dritten Quartal

Gewinn und Umsatz legen deutlich zu. Zum Wachstum tragen auch die Sparten Cloud und Abonnements…

3 Tagen ago