8

Ich habe vor kurzem Dependency Injection-Muster mit Autofac als IoC-Container verwendet.C# Klassenbibliothek Projektabhängigkeit Injektion Bootstrap

Normalerweise würde ich es innerhalb Kern-Anwendung (Winform, WCF, WPF usw.) verwenden.

Derzeit lerne ich, ein Klassenbibliotheksprojekt als Framework für meine Peer-Entwickler zu erstellen, und ich bleibe beim DI-Muster, da es mir erlaubt, den Test zu testen, während ich gehe.

Wie konfiguriere ich den IoC-Container in einem Klassenbibliotheksprojekt ohne einen Einstiegspunkt?

Sollte ich nur so etwas wie:

public static void ConfigureLibrary() { 
    //.. Do bootstraping here 
} 

und Kernanwendung lassen Sie es nennen, wenn der Kern App starten? Wie haben Bibliotheken wie die Muster & Practices Enterprise Library oder Spring.Net konfiguriert?

+0

In Verbindung stehende: http://stackoverflow.com/questions/1831455/what-are-the-best-practices-for-class-libraries-using-dependency-injection-for-i- – Steven

+0

Related: http: // stackoverflow .com/questions/2045904/dependency-inject-di-friendly-library – Steven

+0

Erforderlich lesen: http://blog.ploeh.dk/2014/05/19/di-friendly-library/ – Steven

Antwort

8

Wie haben Bibliotheken wie die Patterns & Practices Enterprise Library oder Spring.Net konfiguriert?

Hier ist an interesting article von Chris Tavares über das Thema.

+0

Interessant in der Tat .. Von dem, was ich in der Lage bin zu begreifen * entschuldigen Sie mich für einen Anfänger *, sogar Bibliotheken wie EntLib erfordert immer noch den Benutzer zu konfigurieren Bei Verwendung einer Fassade ist sogar die Konfiguration so einfach wie 'InitializeMyClassLibrary()'. Ist es der Fall? –

+0

AFAIK ist das nicht der Fall. EntLib wird mit einer Standardkonfiguration ausgeliefert, die unverändert verwendet werden kann. Es sollte eine Standardfassade geben. – Steven

+0

Sie meinen wie eine Art statischen Eintrittspunkt? –

0

Wie konfiguriere ich den IoC-Container in einem Klassenbibliotheksprojekt ohne einen Einstiegspunkt?

Im Allgemeinen sollte die Anwendung die Wurzel für Ihre Dienstanmeldungen sein. Aber ja, man kann Standard-Registrierungen in einer Bibliothek bereitstellen. Here ist ein Blogpost, den ich vor ein paar Tagen gemacht habe, wie ich und mein Team es momentan mache.

Verwandte Themen