Lorsqu'un composant (exemple: un système de cache) peut être implémenté par différents mécanismes (exemple: base de données ou système de fichier), il est utile de séparer l'interface de l'implémentation en deux classes.
L'application qui utilise l'interface peut instancier l'implémentation désirée, explicitement dans le code de l'application.
Au contraire, l'injection de dépendance est un mécanisme permettant de spécifier l'implémentation en dehors du code de l'application, afin de rendre cette dernière plus souple et réutilisable.
La classe n’est pas responsable dans l’instanciation des autres classes dont elle a besoin. Les objets sont "injectés" au moment de la construction ou de l’initialisation de l’objet qui les utilise (en respectant le scope de la classe).
Aucun commentaire:
Enregistrer un commentaire