English Deutsch

Feature-Vergleich

Feature .NET 4.0 .NET 3.5 CF 3.5 SL 3
Dynamische Argumente x x x x
XML-Registrierung x x
Benannte Registrierungen x1
Collections injizieren x x x x
Factory injizieren x x x
Lazy<T> injizieren x

1 Benannte Registrierungen sind in LightCore 1.4 entfallen

Features

Registrierungen können bei Bedarf erstellt werden ...

  • ..., indem eine Instanz übergeben wird.
  • ... per Delegate - optimal für Refactorings und langsame Systeme.
  • ... über die Angabe eines Kontrakts und einer Implementierung.
  • ... per XML (nutzt die LightCore.Configuration.dll).
  • ... mit offenen und geschlossenen generischen Typen.

Eine Registrierung kann ...

  • ... Konstruktorparameter zur Registrierungs- und Laufzeit entgegennehmen - benannt, typisiert oder als anonyme Typen.
  • ... einer Gruppe zugeordnet werden. Wird eine Gruppe aktiviert, werden ihre Elemente registriert.
  • ... eine Strategie zur Wiederverwendung erhalten, wie beispielsweise Singleton.

LightCore ist erweiterbar ...

  • ... mit selbstgeschriebenen Lifecycles, falls die vordefinierten nicht ausreichen.
  • ... mit eigenen, von RegistrationModule abgeleiteten, Registrierungsmodulen, um beispielsweise konventionenbasierete Registrierungen zu ermöglichen.

Darüberhinaus bietet LightCore ...

  • ... integrierte Unterstützung für die Wiederverwendung von Instanzen in Form von verschiedenen Lifecycles wie transient, Singleton, threadbezogenes Singleton und HTTP-Request.
  • ... die Möglichkeit, den Dependency-Injection-Container als Abhängigkeit zu injizieren, um dynamisch per Service-Locator neue Instanzen erzeugen zu können.
  • ... Unterstützung für das CommonServiceLocator-Interface mit Hilfe eines mitgelieferten Adapters.

Registrierungen bei Bedarf erzeugen ...

  • ... mit Collections als Abhängigkeiten, wobei LightCore alle auf TDependency registrierten Instanzen zurückliefert.
  • ... mit einer Factory.
  • ... mit dem in .NET 4.0 neu eingeführten Lazy<T>-Typ, um verspätete Initialisierung zu unterstützen.
  • ... mit einem registrierten, offenen generischen Typen wie IRepository<>.
  • ... für jeden nicht registrierten Typen, indem eine Instanz desselben zurückgeliefert wird.

LightCore kann integriert werden ...

  • ... mit der Komponente LightCore.Configuration.dll für XML-Konfiguration.
  • ... mit ASP.NET WebForms per HttpModule bereit, das Abhängigkeiten in Eigenschaften injiziert.
  • ... mit ASP.NET MVC per ControllerFactory und ControllerRegistrationModule.