Hallo!
Ich verpasse mir gerade Updates für die Verwendung von IoC Container.
http://www.hanselman.com/blog/ListOfNETDependencyInjectionContainersIOC.aspx
Aktuell studiere ich Unity 3.0:
https://www.microsoft.com/en-us/download/confirmation.aspx?id=39944
Aber auch Jenkins.net oder Spring.net scheint sehr populär.
Was verwendet und empfehlt Ihr oder welche Erfahrungen habt Ihr gemacht?
Vielen Dank!
Auch ein guter Überblick : http://www.palmmedia.de/blog/2011/8/30/ioc-container-benchmark-performance-comparison
cSharp Projekte : https://github.com/jogibear9988
Der Beitrag von Scott Hanselman ist bald 10 Jahre alt 😉
Mit .NET Core hat Microsoft die ServiceCollection mitgebracht - der in meinen Augen aktuell beste IoC Container.
Sonst war ich immer mit Unity unterwegs; nur hat Unity leider die Eigenschaft manchmal einfach einen Service ohne Exception einfach nicht aufzulösen.
Wer Unity kennt weiß, dass dann irgendeine Dependency nicht registriert wurde, man dann aber auf Suche gehen muss, was fehlt.
Die ServiceCollection (auch andere) haben das Problem nicht; die ServiceCollection hat aber viele andere nette Gimmicks wie die ganzen Try-Methode.
Ich verwende aktuell nichts mehr anderes - und dank .NET Standard auch in gewöhnlichen .NET Framework Applikationen verwendbar.
Das NuGet Paket dazu ist Microsoft.Extensions.DependencyInjection
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Mein Favorit ist und bleibt StructureMap. Mag vielleicht daran liegen, dass ich seit beginn an mit dem Ding arbeite. Hab aber noch nie was vermisst und bin sehr zufrieden mit dem Teil.
"Jedes Ding hat drei Seiten, eine positive, eine negative und eine komische." (Karl Valentin)
TinyIOC zusammen mit TinyMessenger.
Kann alles was ich brauche, incl ChildContainer ( sehr nützlich für z.b. Plugins ) und läuft auch unter Xamarin.
Ich liebäugle gerade mit Simple Injector:
https://simpleinjector.readthedocs.io/en/latest/quickstart.html
Hat jemand damit schon gearbeitet?
Edit: Läuft gut. Aber man muss IoC Container in der Archtekttur auch denken. Fällt mir noch schwer.
Btw,
Das wirklich beste, kernigste Tutorial für DI:
https://www.codeproject.com/articles/719563/dependency-injection-for-beginner-i
Unit Testing and Dependency Injection, with xUnit InlineData and Unity:
http://www.tomdupont.net/2013/10/unit-testing-and-dependancy-injection.html
Simple Injector with xUnit .NET attempting to get instance of logger with consumers Type:
https://github.com/simpleinjector/SimpleInjector/issues/290
Buch Dependency Injection in .NET
https://www.manning.com/books/dependency-injection-in-dot-net
Freie Kapitel
https://manning-content.s3.amazonaws.com/download/2/4024034-744d-4ab4-ac0d-410c3d543242/DIi.NET_sample_ch01.pdf
https://manning-content.s3.amazonaws.com/download/4/5cfe3a8-e45c-41ea-b6e5-7de2d326cb91/DIi.NET_sample_ch04.pdf