Tag: MVVM

WPF: MVVM & Responsive UI

WPF: MVVM & Responsive UI

English Version

Vor ein paar Tagen hatte ich ja von meinen ersten Gehversuchen im Bereich von WPF & MVVM berichtet.

Nun hat mich ein Kumpel, der genau dieses Feld schon eine ganze Weile beackert, vor eine Herausforderung gestellt:

a) Meine GUI sollte ansprechbar (“responsive”) bleiben, während der Merge ausgeführt wird.

b) Es soll nicht immer die ganze GUI nach jeder Aktion evaluiert werden.

Read More Read More

WPF: MVVM, ViewModel, Model & MessageBoxen

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