2011-01-15 10 views
3

würde Ich mag hören, was Bootstrap-Programm (MEF, Einheitlichkeit, Autofac ... usw.) geeignet ist (das Beste) für Caliburn micro indem Sie Ihre Meinung und warum?Welche bootstraper für Caliburn Micro

Wenn Sie einen Favoriten haben, können Sie den Code dieses Bootstrappers mit der Verwendung auf der VM-Klasse oder der externen Assembly veröffentlichen. Ich würde mich freuen.

Ich bin Neuling in dieser Domäne; Entschuldigung, wenn meine Frage etwas dumm ist.

Vielen Dank für jede Meinung, Rat und Code Beispiel.

Antwort

6

Es gibt keine beste Lösung, es hängt von Ihrem Anwendungsdesign ab. MEF ist kein universeller IoC-Container (anders als Unity, Autofac usw.), und sein Fokus liegt auf der Auffindbarkeit von Typen und ihrer Zusammensetzung.

Sie eignet sich für Verbundanwendungen, bei denen Erweiterungen zur Laufzeit erkannt und in die Shell der Anwendung integriert werden können. Seine Stärke liegt in der Tatsache, dass unterstützende Baugruppen in einen bestimmten Ordner fallen und ohne zusätzliche Arbeit abgeholt werden können.

Einheit usw. ist allgemeiner Zweck und bieten Funktionen über MEF und zusätzlich Zusammensetzung zum Objekt ist auch gegenüber anderen Dimensionen der DI wie Lebensdauer-Management und Abfangen konzentriert.

Es gibt nichts, was Sie daran hindert, sowohl MEF zur Unterstützung von Erweiterungen/Plugins als auch einen allgemeineren IoC-Container wie Unity/Autofac/Castle Windsor für Ihre allgemeine DI-Infrastruktur zu verwenden.

Wenn Sie neu in DI sind, dann bleiben Sie vielleicht zunächst bei MEF, da es alle benötigten Funktionen zur Objektkomposition bietet, und Rob hat bereits eine Implementierung des Bootstrappers zur Verfügung gestellt, der MEF verwendet.

+1

Danke für die Erklärung;) –

0

Oder Sie können MEF wünschen für ein Add-In-Architektur verwenden, sondern eine richtige IoC-Framework wie Autofac verwenden Sie Injektion Abhängigkeit.