2011-03-04 3 views
0

Je travaille sur Silverlight, bien sûr j'utilise MVVM. J'ai trouvé beaucoup de problèmes mais je peux créer une solution de rechange pour eux (certaines de ces solutions ne sont pas du tout élégantes), maintenant je pense qu'il est temps d'apporter un cadre pour m'aider.Quel framework MVVM (Silverlight) devrais-je utiliser?

J'ai besoin des fonctions énumérées ci-dessous.

  1. injection de dépendances
  2. Navigation
  3. Callback
  4. Messaging
  5. événement Bind la Command
  6. testabilité

Comme je sais, il y a beaucoup de cadre là-bas, comme , Jounce, MVVMLight et Prism. Je veux savoir quel cadre est adapté à mon besoin?

Répondre

1

En matière d'injection de dépendance, je préfère utiliser MEF

ce qui simplifie grandement le code. Comme pour le reste des fonctions, actuellement je travaille avec MVVMLight et je n'ai pas rencontré de problème (bien que je ne connaisse pas Jounce et Prism)

+0

Existe-t-il ViewModelLocator et Messaging dans MVVMLight? (Je sais qu'il y a EventToCommand là-bas :)) – Anonymous

+0

Bien sûr, il y a ViewModelLocator et Messaging dans MVVMLight, il suffit de naviguer sur http://www.galasoft.ch/mvvm/getstarted/ pour avoir un aperçu de ce qui est inclus ici – tchrikch

+0

@Anonymous: Oui, ils sont. Je partage l'opinion de @tchrikch pour utiliser MEF + MVVMLight. Les deux sont simples (dans le bon sens) –

0

Je pense que vous devriez considérer l'échelle de l'application . Si c'est une application relativement petite qui a peu de chances de croître, je choisirais MVVMLight.

Pour une application LOB plus grande, je considérerais PRISM ou Caliburn. Je recommande également de lire les articles de blog par John Papa et Jeremy MIller sur MVVM, les écrans et les coordinateurs. Leurs idées et leurs idées ont énormément aidé dans un projet Silverlight à grande échelle que j'ai construit.

0

Dans WPF Prism est génial, dans Silverlight Jounce est de loin le meilleur. Il est très bien intégré avec MEF, très léger, élégant et stable. Il fournit également une implémentation agréable pour prendre en charge les scénarios de flux de travail d'événements complexes, VisualStateManager dans ViewModel (love that one), la validation, le débogage et les tests unitaires; Je l'ai utilisé dans des projets assez complexes et j'étais content de l'avoir choisi.