Demystifying Dependency Injection - What It Is and Why It Matters

Most projects use Dependency Injection in some form. However, many developers take it for granted and do not really question what it is or why they are using it in the first place. This article aims to answer those questions, even though they are rarely asked.