A couple of days ago I uploaded to NuGet (which was really easy BTW) the first alpha release of the Needle Container.
Needle is a lightweight dependency injection container. Initially the project came up as something to do on weekends and boring afternoons with practicing goals (TDD, reflection), but after that I started putting more work into it, by adding documentation in code, and basic features that are commonly found in other containers such as Autofac or Unity.
You can download the Nuget package using the following command, which will automatically include a reference to the container’s assembly.
Some of the features that are part of this release are:
- Constructor Injection
- Property Injection
- Type mapping using lifetime scopes and Ids
- Storing instances using various Ids
- Asynchronous object resolution
- Fluent API
- Support to inject factories using Func<T>
- Support to inject instances for all stored registrations using IEnumerable<T>
After I come back from my holidays, I expect to be adding more functionality to it in my free time (collaborators are welcome, contact me through codeplex), as well as doing a couple of posts on the most relevant features, for instance how the Fluent API works and how to perform asynchronous resolution.
If you try it out, let me know what you think of it. You can use the discussions boards to do so.