DI is a form of Inversion of Control. I don’t think you should talk about DI without mentioning the composition root and object lifetimes.
DI shouldn’t be confused with techniques that decouple code, such as composition. DI requires composition, but composition isn’t DI.
Ctor construction doesn’t inject anything, it’s just a method of…[Read more]