2009-07-17 25 views
3

Je voudrais juste voir comment d'autres utilisent du CRG:Code source C# Exemples utilisant System.Addin (MAF)?

  • Quelles sont les définir comme des contrats?
  • Utiliser IoC et MAF ensemble?
  • Comment les addins communiquent-ils entre eux?
  • Comment MAF aide-t-il à construire une application winforms? ...
+0

Je connais l'espace de noms Systen.AddIn mais je ne l'ai pas vu s'appeler MAF auparavant. Donc, juste pour être sûr, vous ne parlez pas de MEF, le Microsoft Extensibility Framework? –

+0

vous pouvez essayer google "maf mef C#" :) –

Répondre

2

Comme cela a déjà été fait allusion dans les commentaires, System.AddIn est largement considéré comme obsolète face à une API remanié qui est beaucoup plus facile à utiliser. Cela réside dans System.ComponentModel.Composition et est communément appelé MEF (abréviation de Managed Extensibility Framework). Je vous conseille d'ignorer MAF et de passer directement à l'utilisation de MEF. Visual Studio 2010 utilise MEF pour étendre de manière dynamique l'interface utilisateur, à la fois pour les fonctionnalités livrées avec VS et pour les extensions fournies par des tiers.

+0

Un joli tour d'horizon des différences entre MEF et MAF peut être trouvé ici: http: //stackoverflow.com/questions/835182/choosing-between-mef-and-maf-system -addin/840441 avec quelques arguments pour les scénarios dans lesquels MAF est loin d'être obsolète. – GaussZ

+0

MAF est vraiment juste une façon de travailler plus structuré avec AppDomains tandis que MEF est sur la composition. Je suis d'accord que MAF peut encore avoir ses utilisations, mais l'isolement total est si mauvais pour la performance que dans la plupart des cas d'utilisation pratique MAF n'est pas vraiment une option à considérer. Il est également impossible d'utiliser MAF pour les composants de l'interface utilisateur, à cause de la façon dont Windows distribue les événements de l'interface utilisateur. –

+0

Yep MAF est un chemin plus structuré et plus "addin". Et bien que les performances se dégradent, beaucoup de cas fonctionnent très bien avec MAF, surtout si vous courez le risque de planter des modules complémentaires ou si vous voulez les recharger à la volée. Visual Studio utilise intensivement MAF pour son architecture addin afaik. Il est également tout à fait possible d'utiliser des composants d'interface utilisateur chargés via MAF, voir http://blogs.msdn.com/b/clraddins/archive/2007/08/06/appdomain-isolated-wpf-add-ins-jesse-kaplan .aspx pour un exemple. – GaussZ