I have heard of ninject and I have to build a lot of apps that have to integrate with other tools.
SO i was wondering what this was and how it is used.
closed as too broad by MichaelT, Wayne M, jwenting, GlenH7, Bart van Ingen Schenau Jun 15 '14 at 10:41
There are either too many possible answers, or good answers would be too long for this format. Please add details to narrow the answer set or to isolate an issue that can be answered in a few paragraphs. If this question can be reworded to fit the rules in the help center, please edit the question.
What are dependency Injections :- I will try to help you understand this with examples
Without DI Container --
With DI Container -- (Ninject is used in this example)
How often do I use a DI Container?
Very often. Close to always.
What requirements make me do so?
In ASP.NET MVC I always use a container, because when one uses Constructor Injection in Controllers one breaks the default convention of having default constructors. This means that a custom IControllerFactory is required, and while it's possible to write and maintain one by hand, it's more work. Using a DI Container that supports convention-based configuration, one can use Constructor Injection in a convention-based manner and less maintenance is required.
Can we do without them?
Yes, but at the cost of more maintenance of infrastructure code: http://stackoverflow.com/questions/5667801/arguments-against-inversion-of-control-containers/5668093#5668093