English Deutsch

Was kostet LightCore?

Die Binaries von LightCore dürfen in jeglicher Art von Projekten (privat, kommerziell, ...) kostenlos genutzt werden.
Der Quellcode von LightCore steht unter der MS-PL-Lizenz.

Für LightCore auf Paypal spenden

Was ist LightCore?

LightCore ist ein leichtgewichtiger Dependency Injection-Container, der auch als Service Locator genutzt werden kann und trotz seiner Einfachheit und Leichtigkeit mit zahlreichen Features aufwarten kann.

Die Bibliothek wurde in C# für .NET ab Version 3.5 mit besonderem Augenmerk auf Einfachheit und Sauberkeit (Clean Code Developer) entwickelt, und wird vollständig durch Unittests abgedeckt.

LightCore sehe ich - Peter Bucher - als Referenzprojekt in Bezug auf Coding-Standards und -Styles. Da LightCore vollständig in deutscher Sprache vorliegt und von einem deutschsprachigen Autor entwickelt wird, bekommen auch Entwickler, die eine deutschsprachige Umgebung bevorzugen, die Chance, sich intensiver mit Dependency Injection zu beschäftigen.

LightCore ist ...

  • ... in der Basisversion ungefähr 35 KByte klein und besitzt nur 3 Referenzen (System, System.Core und mscorlib).
  • ... leichtgewichtig, schnell geladen und bequem zu deployen.
  • ... nicht überladen und enthält ein sinnvolles Featureset, wodurch die Anwendung simpel ist.
  • ... für .NET 3.5, .NET 4.0, Silverlight 3 und .NET Compact Framework 3.5 verfügbar.
  • ... ein Early Adopter und reizt die neuesten Technologien von .NET 3.5 und .NET 4.0 aus.
  • ... schnell: Im Vergleich zu anderen Dependency Injection-Containern besticht LightCore durch seine hohe Geschwindigkeit.
  • ... mit deutscher und englischer Dokumentation und Webseite verfügbar.
  • ... flexibel nutzbar, indem beispielsweise nur die Basisversion oder die Basisversion und weitere Komponenten genutzt werden.
  • ... durch das Feedback und die Vorschläge aus der Community stets aktuell und wird laufend verbessert.

Beispiel mit einer Delegate-Registrierung

        
            var builder = new ContainerBuilder();
            builder.Register<IWebApp>(c => new WebApp(c.Resolve<IRequestHandler>()));
            builder.Register<IRequestHandler>(c => new RequestHandler());
            
            IContainer container = builder.Build();
            
            var webApp = container.Resolve<IWebApp>();
            webApp.Run();