L'injection de dépendance est un concept qui commence à être relativement connu par les développeurs, ne serait-ce que parce que la plupart des frameworks modernes y font massivement appel.
Pour mémoire, elle permet de définir les objets nécessaires au fonctionnement d'un objet non plus statiquement, c'est à dire explicitement dans le code, mais dynamiquement, soit lors de l'exécution de ce dernier.
Ce mécanisme permet donc au développeur d'injecter dans une instance de classe les instances de son choix afin de modifier, améliorer ou bien encore tester son fonctionnement.
L'injection de dépendance permet donc de modifier très simplement, la plupart du temps via un simple fichier de configuration, le comportement d'un programme et il permet également d'utiliser des bouchons, aka mock, dans le cadre d'un test unitaire.
C'est donc un concept très puissant et il est de plus très simple à mettre en œuvre, puisque même si cela peut sembler très caricatural au premier abord, utiliser l'injection de dépendance revient à bannir du code d'une classe tout appel explicite à l'opérateur new
.