> For the complete documentation index, see [llms.txt](https://guide-angular.wishtack.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://guide-angular.wishtack.io/angular/dependency-injection/quest-ce-que-la-dependency-injection.md).

# Qu'est-ce que la "Dependency Injection" ?

La "Dependency Injection" **est un "design pattern"** qui consiste à **séparer l'instanciation** *(et donc l'implémentation)* d'une dépendance **et son utilisation**.

## Pourquoi ?

Ce "design pattern" permet :

* d'**inverser les dépendances**,
* d'**éviter le couplage fort** avec les dépendances,
* de **factoriser l'instanciation** d'une dépendance,
* de **faciliter le remplacement** d'une dépendance par une autre implémentation **à des fins fonctionnelles ou de "testing“**.

## Comment ?

### Sans "Dependency Injection"

![Without Dependency Injection](/files/-LCExm1N-SKFyQdW7pKV)

### Dependency Inversion

![Dependency Inversion](/files/-LCExpXFgv_jAODr1i01)

### Dependency Injection

![Dependency Injection](/files/-LCExtIt1Ns6QTbh65PI)
