Einfaches Model-View-ViewModel nutzen unter WPF/C#

Inzwischen gibt es einige Frameworks für MVVM, besonders in Verbindung mit WPF und C#. Besonders einfach möglich ist dies mittels Cinch, welches wiederum MEFedMVVM nutzt. Die Links zu diesen beiden Projekten befinden sich am Ende dieses Posts. Diese Frameworks sind zum Einen kostenlos nutzbar und zum Anderen sehr gut dokumentiert. Außerdem steht eine entsprechend große Community hinter diesen Frameworks, die bei Fragen sehr gut unterstützt (natürlich sollte man hier am Besten Englisch beherrschen, aber dies ist in der Softwareentwicklung so oder so Grundvoraussetzung). Aber was genau sind dies für Frameworks? Nun, hierfür möchte ich gerne einmal die beiden Seiten zitieren, beginnen wir mit Cinch.

Cinch is a MVVM framework that exposes a number of helper classes to allow the developer to quickly get to grips with creating scalable testable MVVM frameworks as quickly as possible.

Was heißt das genau? Das heißt, dass Cinch die Testbarkeit unserer Model sowie ViewModel Klassen verbessert. Außerdem bietet das Chinch Framework einige sehr nützliche Hilfeklassen für das Entwickeln von Desktop-Anwendungen unter Verwendung vom MVVM-Entwurfsmuster. Nun kommen wir zu einem kurzen Zitat von MEFedMVVM:

Library for building MEF MVVM applications for Silverlight and WPF. By using this library you can easily build MVVM application.

Somit ist auch dies eigentlich kurz und knapp erklärt. MEFedMVVM ist ein Managed Extensibility Framework mit Model-View-ViewModel Implementierungen. Das MEF lässt sich mit folgendem Zitat am Besten erklären:

MEF is a composition layer for .NET that improves the flexibility, maintainability and testability of large applications. MEF can be used for third-party plugin extensibility, or it can bring the benefits of a loosely-coupled plugin-like architecture to regular applications.

Für kommerzielle Applikationen kann es zwar oft sinnvoll sein ein eigenes – den Anforderungen entsprechendes Framework – zu erstellen, jedoch ist für die private Verwendung dies meist zu aufwendig und nur selten so ausgereift wie diese beiden.