2009-07-28 4 views
2

Je travaille actuellement sur un projet WPF utilisant Prism (CAL) et je me demande si c'est une bonne idée d'utiliser à la fois Prism et MEF dans un projet. Je voudrais utiliser Prism pour la modularité et MEF pour l'extensibilité. Mon projet est une application ressemblant à une peinture, donc Prism fournirait le module-separation (boîte à outils, canvas comme modules etc.) et MEF serait utilisé pour fournir un point d'extensibilité pour les nouvelles formes à peindre (rectangle, cercle ..).Est-il possible (et raisonnable) d'utiliser MEF et Prism (CAL) dans un projet?

Est-ce que cela a du sens ou est-ce que je peux obtenir des fonctionnalités similaires avec Prism seulement?

Merci à l'avance et meilleures salutations, crischu

Répondre

2

Bien sûr! C'est une chose très appropriée à faire. MEF semble se diriger vers le .NET Framework donc je dirais que c'était un très bon moyen d'exposer une surface de plugin qui nécessite une dépendance très petite (et relativement immuable) (juste sur MEF ... pas toutes les autres choses qui viennent avec Prism) pour vos auteurs de plugin.

Puisque ça va être dans le cadre, je parierais que plus de gens se familiariseront avec lui qu'avec Prism.

2

Il est raisonnable de le faire, et nous avons plusieurs clients qui le font. MEF fait partie de .NET Framework 4.0, ainsi que la prochaine version de Silverlight. Nous expédions actuellement MEF pour .NET 3.5 sur Codeplex.

En ce qui Prism avec MEF, le défi à ce stade est que vous devez écrire un tas de code comme Prism ne dispose pas encore mises en œuvre des services nécessaires pour parler MEF

Une option est d'utiliser la Couche d'intégration MEF/Unity que nous avons dans MEF Contrib (mefcontrib.codeplex.com). Il permet à Unity et MEF de se parler les uns aux autres, ainsi vous pouvez utiliser la source Prism existante avec MEF via le pont Unity.

Nous travaillons avec p & p pour avoir Supprot directe soutenu dans MEF.

Merci Glenn

+0

choses passionnantes. Merci Glenn. –