web-dev-qa-db-fra.com

Qu'est-ce que l'injection de dépendance?

Dupliquer possible:
Qu'est-ce que l'injection de dépendance?

Spring est le cadre à partir duquel le concept d'injection de dépendance est venu à l'image.

Quel est le but de DI? Comment ça profite? Comment est-il mis en œuvre?

58
user284291
67
Zaki

Quel est le but de DI?

Le but de Dependency Injection est de réduire le couplage dans votre application pour la rendre plus flexible et plus facile à tester.

Comment ça profite?

Les objets n'ont pas de dépendances codées en dur. Si vous devez modifier l'implémentation d'une dépendance, tout ce que vous avez à faire est d'injecter un type d'objet différent.

Comment est-il mis en œuvre?

Il existe différentes méthodes d’injection de dépendance. Consultez l'article article Wikipedia pour voir des exemples de chacun. Une fois que vous avez compris ces éléments, vous pouvez commencer à examiner les différents cadres d’injection de dépendance.

23
Justin Niessner

Très court,

Quel est le but de DI? Avec l'injection de dépendance, les objets ne définissent pas leurs dépendances elles-mêmes, elles leur sont injectées en fonction des besoins.

Comment ça profite? Les objets n'ont pas besoin de savoir où et comment obtenir leurs dépendances, ce qui entraîne un couplage lâche entre les objets, ce qui les rend beaucoup plus faciles à tester.

Comment est-il mis en œuvre? Généralement, un conteneur gère le cycle de vie des objets et de leurs dépendances en fonction d'un fichier de configuration ou d'annotations.

12
nkr1pt
6
pdbartlett

DI nous permet d’échanger des composants, d’améliorer la testabilité et de s’assurer que les composants sont faiblement couplés. DI permet de résoudre les dépendances lors de l'exécution à l'aide de conteneurs DI tels que Windsor Castle, Unity, Spring.net, MEF, qui permettent aux applications d'être extensibles.

1
TrustyCoder
0
PaulJWilliams