Si vous avez besoin de modularité, vous voulez regarder Prisme. Prism a quelques éléments qui peuvent vous aider avec MVVM (DelegateCommand et CompositeCommand, par exemple), mais je pense que c'est plus complet avec un autre framework MVVM.
Il a été question il y a quelques jours sur la façon de modèle de Prisme. Vérifier que pour une explication détaillée de la façon de les examiner du Prisme de la fonctionnalité.
De haut Niveau de la Modélisation des Conseils pour Prism MVVM
L'unité est une mise en œuvre d'une inversion de contrôle conteneur et c'est certainement bonne, mais Prisme a la possibilité d'utiliser d'autres récipients. Il a la prise en charge intégrée pour le MEF (qui, à son tour, est intégré à .NET 4.0), mais ce n'est pas votre seul choix. Regardez quelques-uns des échantillons inclus dans le Prisme et de décider ce que vous aimez mieux. L'unité n'est pas terminée sur sa propre pour la composition de l'INTERFACE utilisateur, à mon avis. MEF pourrait être une meilleure choix si vous voulais essayer de composite d'une INTERFACE utilisateur avec le Framework MVVM + Cio Cadre de l'approche.
MVVM Light est en fait un petit cadre de Prism. D'autres frameworks MVVM à prendre en compte:
- MVVM Fondation (très léger... bon pour les petits projets)
- Caliburn (très robuste cadre)
- Caliburn Micro (actions d'un nom et d'un auteur de Caliburn, mais il s'apparente à MVVM Light avec quelques belles conventions)
-
ReactiveUI (Anciennement "ReactiveXAML". C'est un peu le cerveau du fondoir, mais si vous apprenez Réactif Extensions .NET (Rx), ce cadre est tout simplement incroyable... magique à mon avis.)
Si je devais commencer un nouveau projet: je voudrais aller avec Prisme et ReactiveUI.
Le prisme parce que vous devez avoir de la modularité avec de grands projets et j'aime la possibilité de supprimer et d'ajouter des grandes unités de fonctionnalités à une application juste en supprimant ou en ajoutant des Dll (et vous n'avez pas à mettre en œuvre la DLL renifler caractéristique, comme vous le feriez avec juste un Cio + MVVM approche). Plus facile à tester, plus facile à déboguer, plus facile à se développer séparément. Sympa tout autour.
ReactiveUI parce qu'avec l'INTERFACE de programmation de ces jours, la plupart de votre temps est consacré à la gestion de votre temps sur le thread d'INTERFACE utilisateur. Le blocage n'est pas... les utilisateurs ne veulent pas voir une INTERFACE utilisateur gel; ils veulent voir que les GIF animés attendre symbole de la filature, de sorte qu'ils savent qu'ils peuvent travailler sur autre chose pendant que vos données est en cours de chargement. En outre, une grande partie de la valeur des applications de fournir ces jours-ci est prise de données provenant de systèmes disparates et les mettre ensemble dans l'INTERFACE utilisateur... non seulement aurez-vous besoin d'un bon système de composition (Prism), mais vous aurez également besoin d'un bon framework MVVM qui traite les opérations asynchrones comme son pain et le beurre... ReactiveUI est-il.