I have seen many articles on this topics. There are many articles on internet for this topic and it is always been a bit difficult to understand this concept. So here, I tried to explain this topic in my simple(dumb) language. I know, this is not the perfect way but I hope that example(s) used here will help us to understand this topic.
To understand Dependency Injection, I think we first make ourself comfortable with following two concepts.
- Dependency Inversion Principle (DIP)
- Inversion of Controls (IoC)