Cela dépend vraiment de ce que vous essayez de réaliser et de la quantité d'infrastructure que vous souhaitez déjà en place, ainsi que de la facilité avec laquelle vous pouvez trouver des échantillons qui vous aideront. Je vais déclarer un intérêt ici, car j'ai été activement impliqué dans au moins un framework MVVM, et j'ai eu des commentaires sur d'autres via le groupe WPF Disciples, donc je suis un peu biaisé. Cela dit, voici:
Microsofts MVVM Toolkit - il est encore très en phase alpha. Quand il a été initialement publié, il a fallu un peu de sauvage aux Disciples à cause de ce qu'il n'a pas fait. Cela dit, MS cherche à renforcer ce cadre, il est donc à surveiller - il n'est tout simplement pas encore prêt.
MVVM Foundation - ah Josh Smith version du cadre. Josh est l'un des papas de MVVM, et a été un grand défenseur et enseignant du modèle. En conséquence, une grande partie de ce que vous trouverez dans d'autres cadres a les empreintes digitales de Josh partout. Ce cadre est destiné à fournir les bases de MVVM, et non à résoudre certains des problèmes les plus ésotériques. À l'origine, cela n'était destiné qu'à WPF, mais des gens tels que Laurent Bugnion et moi-même ont ajouté des fonctionnalités / projets qui signifient que ce sera également un cadre compatible Silverlight.
WAF - aucune expérience, donc je ne peux pas en parler, j'ai peur.
MVVM Light - la version de Laurent Bugnion et juste mise à jour vers la version 2. C'est un très bon framework, mais encore une fois il n'est pas destiné à couvrir tous les aspects des applications MVVM. Compte tenu des antécédents de Laurent, il dispose d'un support Silverlight et Blendability très solide.
Mise à jour Laurent vient de m'informer que les versions .NET 3.5 et .NET 4.0 sont compatibles avec les fonctionnalités. Wau aller Laurent.
Cinch - l'excellent framework MVVM de Sacha Barber uniquement MVF. Cela couvre plus de terrain que les cadres dont j'ai parlé ci-dessus. C'est un excellent cadre, et tire parti des concepts couverts dans l'excellent projet Onyx de Bill Kempf . Onyx est destiné à compléter les frameworks MVVM et ajoute des fonctionnalités généralement difficiles à réaliser dans MVVM / WPF. Encore une fois, initialement destiné à être uniquement WPF, Onyx a progressé pour inclure la compatibilité SL - travail auquel je suis particulièrement fier d'avoir participé.
Prisme - Encore une fois, je ne l'ai jamais utilisé, mais j'ai entendu beaucoup de bonnes choses à ce sujet.
Océan - Karl Shifflett, responsable de programme au sein de l'équipe Cider, a récemment publié un framework WPF MVVM complet. Encore une fois, c'est un excellent cadre et a beaucoup à recommander.
L'essentiel est de télécharger les différents cadres, de les consulter et de déterminer celui qui correspond le mieux à votre façon de penser et à vos besoins. Si vous pensez que vous souhaiterez peut-être prendre en charge Silverlight à partir de la même base de code, les cadres WPF uniquement doivent être actualisés.