Leçon 5 : DIP et injection de dépendances
Une classe métier qui crée new SmtpMailer() en son sein est soudée à un seul fournisseur : impossible de la tester sans vrai serveur mail, impossible de changer de fournisseur sans l'éditer. Dans cette leçon, on inverse la direction de la dépendance : le service dépend d'une interface, et l'implémen
DIP, c'est comme une prise murale : la lampe n'est pas soudée à la centrale électrique — les deux côtés se branchent sur une fiche standard, donc chacun peut être remplacé sans toucher l'autre.
- Principe d'inversion des dépendances (DIP)
- La logique métier dépend d'une interface abstraite, et l'implémentation concrète est injectée de l'extérieur — l'infrastructure peut ainsi être remplacée et testée facilement.
- injection par constructeur
- Un motif où la dépendance entre comme paramètre du constructeur et est stockée dans un champ privé readonly — celui qui compose l'application choisit l'implémentation.