MVVM-Grundlagen für Windows Phone 7-Entwickler

Im Zusammenhang mit der Windows Phone 7-Entwicklung stößt man immer wieder auf das Entwurfsmuster Model, View, View Model (MVVM). ZDNet fasst zusammen, was Windows Phone 7-Entwickler darüber wissen sollten.

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:

Neueste Kommentare 

Noch keine Kommentare zu MVVM-Grundlagen für Windows Phone 7-Entwickler

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *