Circular Dependency
NestJS 🟡 MidDefinition
Situation ou deux providers ou modules dependent mutuellement l'un de l'autre, causant une erreur de resolution. Se resout avec forwardRef.
Analogie
Comme deux personnes bloquees a une porte, chacune attendant que l'autre passe en premier.
Exemple de code
// Module A importe B, B importe A
@Module({
imports: [forwardRef(() => ModuleB)],
})
export class ModuleA {}
Cas d'usage
Resoudre temporairement une dependance circulaire tout en planifiant un refactoring pour l'eliminer.
Anti-pattern
Accepter les dependances circulaires comme normales au lieu de repenser l'architecture.