2009-07-17 11 views
3

Genau wie zu sehen, wie andere Verwendung von MAF machen:C# Source Code Beispiele, die System.Addin (MAF) verwenden?

  • Was als Verträge definieren?
  • Verwendung von IoC und MAF zusammen?
  • Wie kommunizieren Addins miteinander?
  • Wie hilft MAF beim Erstellen einer Winforms-Anwendung? ...
+0

Ich weiß über den Namespace System.AddIn, aber habe es noch nicht als MAF zuvor gesehen. Um sicher zu gehen, dass Sie nicht über MEF, das Microsoft Extensibility Framework sprechen? –

+0

können Sie versuchen, google "maf mef C#" :) –

Antwort

2

Wie bereits in den Kommentaren wird System.AddIn weitgehend veraltet betrachtet in dem Gesicht eines überarbeiteten API, die viel einfacher zu bedienen ist angedeutet worden. Dieser befindet sich in System.ComponentModel.Composition und wird im Allgemeinen als MEF (Abkürzung für Managed Extensibility Framework) bezeichnet. Ich rate Ihnen, MAF zu überspringen und direkt zur Verwendung von MEF zu springen.

FWIW, Visual Studio 2010 verwendet MEF zum dynamischen Erweitern der Benutzeroberfläche, sowohl für Funktionen, die mit VS geliefert werden, als auch für Erweiterungen, die von Drittanbietern bereitgestellt werden.

+0

Eine schöne Zusammenfassung der Unterschiede zwischen MEF und MAF finden Sie hier: http: //stackoverflow.com/questions/835182/choosing-between-mef-and-maf-system -addin/840441 zusammen mit einigen Argumenten für Szenarien, in denen MAF noch lange nicht überholt ist. – GaussZ

+0

MAF ist eigentlich nur eine Methode, um mit AppDomains strukturierter zu arbeiten, während es bei MEF um Komposition geht. Ich stimme zu, dass MAF immer noch verwendet werden kann, aber die vollständige Isolation ist so schlecht für die Leistung, dass MAF in den meisten praktischen Anwendungsfällen nicht wirklich eine Option ist. Es ist auch unmöglich, MAF für UI-Komponenten zu verwenden, da Windows UI-Ereignisse absetzt. –

+0

Yep MAF ist eine strukturierte und mehr "addin" -way. Und während sich die Leistung verschlechtert, funktionieren viele Fälle sehr gut mit MAF, insbesondere wenn Sie das Risiko eingehen, Add-Ons abzustürzen oder On-The-Fly neu zu laden. Visual Studio verwendet MAF extensiv für seine Add-On-Architektur afaik. Es ist auch durchaus möglich, UI-Komponenten zu verwenden, die über MAF geladen werden, siehe http://blogs.msdn.com/b/claddins/archive/2007/08/06/appdomain-isolated-wpf-add-ins-jesse-kaplan .aspx für ein Beispiel. – GaussZ

Verwandte Themen