Ninject is a lightweight dependency injection framework for .NET applications. It is one of the several Inversion od Control(loc) containers available for .Net. It helps us to split our application into a collection of loosely-coupled,highly cohesive pieces and then glue them back together in a flexible manner. It makes our code easier to write, reuse, test and modify.
Why use Ninject
It uses a fluent interface to declare type bindings whereas the other frameworks rely on XML configuration files. It is a lightweight framework and aims to keep things simple and straightforward. It uses an extremely flexible form of binding called contextual binding.
How Ninject works
Ninject uses a central object to provide concrete implementations of dependencies at runtime.
Repeating calls via reflection as in dependency injection by hand can be very slow.Ninject takes advantage of the light weight code generation system firstintroduce in version 2.0 of the CLR.
By default, the Standard Kernel will create dynamic methods that can be used to inject values into the different injection targets. These dynamic methods are then triggered via delegate calls
Ninject is a pre-built dll which is available for download from github and have to reference Ninject.dll in your project.