Dependency injection is one of those techniques that carry around a bad reputation for being overly complicated and hard to understand. In reality, DI(you guessed it, dependency injection) doesn't need any complex framework or fancy library to be useful, you can start using it very easily.
Let's start with