WPF: MVVM, ViewModel, Model & MessageBoxen

English Version

Ich bin nie ein GUI-Entwickler gewesen und man sieht es meinen Programmen auch an.

Wo ich gut drin bin, ist der BusinessLogic-Teil der Applikation.

Deshalb habe ich mich immer in vertrautem Territorium bewegt, wo man Controls schön an Linien ausrichten konnte und das dann halbwegs ordentlich aussah (wenn auch nicht schön).

Aber die Zeiten ändern sich und jetzt hab ich mich mal an das ganze Thema WPF (Windows Presentation Foundation) im Zusammenspielt mit MVVM (Model-View-ViewModel) gewagt.

Also Startpunkt habe ich ein Programm genommen, was ich eh schreiben wollte und damit als Übungsgrundlage perfekt geeignet ist.

In dem unten verlinkten ZIP-File findet ihr das Ergebnis. Es enthält ein klassiches Windows-Forms-Programm, welches als MVVM gestaltet ist, sowie das WPF-Pendant dazu.

Beide Programme greifen auf das gleiche Model zu, verwenden aber an ihre Bedürfnisse angepasste ViewModels.

Alle Zugriffe aus dem Model auf entweder die UI (z.B. File-Dialoge oder MessageBoxen) oder das Dateisystem wurden komplett weggekapselt und werden von den jeweiligen Clients des Models zur Verfügung gestellt.

Damit sollte das Programm auch komplett Unit-testbar sein, da alle Interfaces weggemockt werden können.

Das Ergebnis ist trotz allem relativ übersichtlich und sollte damit für Entwickler nachvollziehbar sein, die sich mit MVVM beschäftigen wollen.

MVVM.zip

Fortsetzung: WPF: MVVM & Responsive UI