Dependency Injection
L'injection de dépendances déplace la création et la liaison des dépendances vers un conteneur externe ; les composants reçoivent leurs dépendances via constructeur/propriété/interface, découplant les appelants.
Objectif
Réduire le couplage des modules et améliorer la testabilité et la configurabilité — la mise en œuvre du DIP de SOLID.
Mécanisme
Injection par constructeur : le constructeur reçoit les dépendances. Injection par propriété : des setters les assignent. Injection par interface : on implémente une interface pour les recevoir. Un conteneur (Spring et autres frameworks DI) injecte selon la configuration. L'Inversion de Contrôle (IoC) est l'idée centrale.
Cas d’usage
- Conception découplée
- Tests unitaires
- Conception de frameworks