MEF vs. PRISM. Quelle est la différence? Qu'est-ce qui sera supporté dans le futur?
Ce que je veux créer une application Silverlight avec quelques onglets/modules qui vont tous être séparé Dll.
Je vois PRISME a la Coque/Module concepts qui semblent dirigé vers l'INTERFACE et j'ai trouver une belle démonstration montrant comment la recherche digg/twitter).
Mais il semble que le MEF sera inclus dans VS2010 donc je voudrais aller avec cette option.
Quelqu'un peut en quelque sorte expliquer clairement les différences? (Je ne suis pas un programmeur avancé)
source d'informationauteur punkouter
Vous devez vous connecter pour publier un commentaire.
MEF et le Prisme servir deux objectifs distincts.
Prisme est fondamentalement lignes directrices pour la conception des applications composites - où vous avez une coquille et "régions" qui sont attribués de manière dynamique et intégrée. Il comprend un conteneur IoC (l'Unité) qu'il utilise pour son injection.
MEF est une injection de dépendance cadre - c'est le but principal est de "remplir" depedencies lors de l'exécution d'une application. À cet égard, il remplit le même but que l'Unité fait à l'intérieur de Prisme (et, en fait, on pourrait assez facilement retravailler Prisme de l'utilisation de la MEF au lieu de l'Unité).
Prisme remplit un champ d'application plus large, à certains égards, mais il est aussi vraiment limité à des applications GUI. MEF est de faire juste une chose (Dep. L'Injection), mais orientés à être plus à usage général, pour tout type d'application.
Que pour la durée de vie de ces produits, il n'y a pas de réponse ici, mais c'est le genre de la façon dont ils sont développés:
Prisme a été développé par l'équipe Modèles et Pratiques. Le but n'est pas nécessairement de faire du logiciel, mais de fournir des conseils. En tant que tel, ils mettent à jour (bien qu'assez rarement) le Prisme de la bibliothèque et de l'échantillon, mais Prisme n'est pas une partie essentielle du cadre de travail fournis par Microsoft. C'est vraiment un tiers de la bibliothèque (même si MS fonds beaucoup, la plupart des P&P les gens ne sont pas MS ETP).
MEF, le blog de messages, de sons, comme il est prévu pour être intégré dans le cadre, et être utilisé directement à l'intérieur de MS projets. En tant que tel, il est de plus en plus lourd de développement, directement à partir de Microsoft, et qui sont utilisés dans leurs produits.
Personnellement, j'ai lu à travers le Prisme de la documentation (et le livre), et sont passés par les échantillons. Il est très utile de comprendre comment scinder une application, mais c'est vraiment une orientation plus que complet, utilisable cadre. Les échantillons sont très bons à faire ce qu'ils sont conçus pour faire - éduquer un architecte dans la façon de concevoir une application composite.
Si votre objectif est de garder propre la séparation des préoccupations dans une application silverlight, j'avais plus l'accent sur l'apprentissage MVVM que nécessairement juste à l'aide de Prism.
Si vous souhaitez utiliser MEF, il y a d'autres bonnes options. Par exemple, le Application WPF Cadre est un ensemble de MVVM cadre intégré sur le dessus de l'utilisation de la MEF, et assez agréable.
Fondamentalement, le MEF est d'un usage général extensibility framework:
alors que Prism est principalement pour la construction d'Interfaces graphiques:
Eh bien, pas exactement. MEF est plus axé sur les extensions qui ne sont pas connus au moment de la compilation, tandis que le CIO en général, les conteneurs se concentrer sur les dépendances qui sont connus au moment de la compilation. Le haut de répondre à cette question donne une bonne explication de la différence.
Oui. Vérifiez ces deux postes pour plus d':
http://blogs.msdn.com/gblock/archive/2009/12/02/mef-and-prism-to-be-or-not-to-be.aspx
http://blogs.msdn.com/dphill/archive/2009/12/09/prism-and-mef.aspx