What Is Dependency Injection?

An introduction to what dependency injection is and how it works in your code. You've heard of dependency injection or inversion of control, you've heard how it helps your code, maybe you've even been given code that uses it and you've wondered... "How is this better? What does this mean and why should I use it? I've been writing software for years and have never needed it, so why should I start not?" We'll walk through the principles behind dependency injection, benefits of using it, different common methodologies for implementing it, various tools available, etc. Finally, we'll walk through some code which uses it and implement some functionality that takes advantage of it.