Mot-clé - injection de dépendances

Fil des billets - Fil des commentaires

jeudi 28 juin 2012

À propos de l'injection de dépendance

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.

Lire la suite

lundi 27 septembre 2010

Vous êtes dépendant ? ce n'est pas un problème !

L'injection de dépendances est un patron de conception que tout bon développeur qui fait de la programmation orientée objet, en PHP ou avec tout autre langage, devrait mettre en œuvre.

Pour rappel, il consiste à ne pas instancier d'objet dans le code des classes lors de la conception de ces dernières, mais à les injecter lors de exécution du code dans les instances de classes, soit à l'aide d'un passage par argument sur la méthode appelée, soit à l'aide d'une méthode dédiée.

Ainsi, le découplage entre les classes est augmenté, et le code est alors plus modulaire et réutilisable.

De plus, l'injection de dépendances facilite l'écriture des tests unitaires puisqu'elle permet de bouchonner facilement à l'aide de mock.

Pour autant, sa mise en œuvre n'est pas toujours forcément aisée.

Lire la suite