29 votes

Le MEF est-il un cadre d'injection de dépendances ?

Le cadre d'extensibilité géré (MEF) de .NET 4.0, récemment annoncé, est-il un cadre d'injection de dépendances ? Le Microsoft Unity de Patterns and Practices sera-t-il obsolète dans la version 4.0 ? Comment MEF se compare-t-il à un framework comme Unity ?

27voto

Scott Wade Points 271

Spécifiquement abordé dans la 2e Keynote du PDC 2008 par Scott Guthrie, le MEF a beaucoup plus à voir avec des choses comme l'extension de Visual Studio 2008 et d'autres applications, sans avoir à utiliser toutes les COM et les anciennes technologies... Une très bonne démonstration de l'extension de l'édition de texte dans VS2008 a été montrée entre autres choses. Commencez environ une heure et 15 minutes dans le keynote du 2ème jour ( http://www.microsoftpdc.com ) et vous obtiendrez des informations directes, mais en gros, si vous voulez "construire une application avec des points d'extension intégrés qui peuvent être facilement découverts et qui prennent en charge la découverte des extensions", alors MEF est ce qu'il vous faut. UNITY est ce qu'il vous faut pour un conteneur IoC de haute qualité qui fait du DI aussi bien que les autres solutions existantes, mais qui s'intègre facilement à l'Enterprise Library.

En ce qui concerne Unity dans la version EL4.0 (maintenant 4.1) http://msdn.microsoft.com/en-us/library/dd203099.aspx ), il s'agit en fait d'un IoC qui se trouve au-dessus de la version 2 d'ObjectBuilder et la version EL4.1 possède des points d'extensibilité pour unifier la configuration de divers blocs d'application EL avec Unity.

MEF vs Unity, c'est comme comparer des pommes et des oranges. Voici quelques podcasts/webcast(s) excellents et spécifiques qui décrivent UNITY dans son intégralité, que je recommande vivement :

DotNetRocks Show #393 http://www.dotnetrocks.com/default.aspx?showNum=393 DNR.tv Show #126 http://www.dnrtv.com/default.aspx?showNum=126

1voto

Hamish Smith Points 5961

J'ai vu un article qui y faisait penser, mais plus d'informations ( Scott Guthrie à PDC2008 [Video/wmv]) m'a fait penser que c'est plus qu'un cadre d'injection de dépendances. De la le son des choses il peut être utilisé pour l'injection de dépendances mais fait aussi plus.

1voto

Doug Points 2514

Voici une conversation sur le MEF/MAF/Unité/Prisme que j'ai trouvé éclairant.

0voto

Iti Tyagi Points 16

Je voudrais ajouter une ligne mopre que je viens de lire que Le MEF ne fait pas partie de l'inversion de contrôle (car la dépendance est considérée comme synonyme d'IOC) mais il la met en œuvre. . Lorsque nous implémentons l'IOC via des injections de dépendances, nous utilisons généralement Unity, qui aide à découvrir les dépendances statiques, mais MEF nous permet d'augmenter l'extensibilité de notre application sans configurer les composants de manière statique, même s'ils peuvent être découverts au moment de l'exécution. Il existe également d'autres liens qui peuvent vous aider davantage : Différence entre Unity et MEF

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X