Dependency Injection

NestJS 🟢 Junior

Définition

Pattern ou les dépendances sont fournies a une classe par le framework plutôt que créées par la classe elle-même. NestJS utilise l'injection par constructeur.

Analogie

Comme un restaurant ou les ingrédients sont livres par les fournisseurs plutôt que cultives par le chef.

Exemple de code

@Injectable()
export class OrderService {
  constructor(
    private userService: UserService,
    private paymentService: PaymentService,
  ) {}
}

Cas d'usage

Découplé les classes pour faciliter les tests unitaires et permettre le remplacement des implémentations.

Anti-pattern

Instancier les dépendances avec new directement dans la classe au lieu de les injecter.
#core#interview#architecture

En entretien

  1. C'est quoi l'injection de dépendances, et comment NestJS l'implémente ?

    C'est un pattern où les dépendances sont fournies à une classe par le framework plutôt que créées par la classe elle-même, et NestJS fait ça via l'injection par constructeur. C'est comme un restaurant où les ingrédients sont livrés par les fournisseurs plutôt que cultivés par le chef.

  2. À quoi ça sert concrètement, à part faire propre dans le constructeur ?

    Ça découple les classes entre elles, ce qui facilite les tests unitaires et permet de remplacer une implémentation par une autre sans toucher au code qui l'utilise.

  3. Quel est l'anti-pattern classique à éviter ?

    Instancier soi-même une dépendance avec new directement dans la classe, au lieu de la laisser être injectée par le framework.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre