Junior — Middle
Quelles méthodes peuvent être utilisées pour implémenter l'injection de dépendances dans le code?
sobes.tech IA
Réponse de l'IA
L'injection de dépendances (Dependency Injection, DI) en Go peut être réalisée de plusieurs manières, en tenant compte des caractéristiques du langage :
- Via des paramètres de fonctions ou de constructeurs — la méthode la plus courante et simple. Les dépendances sont passées explicitement lors de la création d'un objet ou de l'appel d'une fonction.
type Service struct {
repo Repository
}
func NewService(r Repository) *Service {
return &Service{repo: r}
}
-
Utilisation d'interfaces — permet de remplacer facilement les implémentations de dépendances pour les tests ou l'extension.
-
Packages pour DI — il existe des bibliothèques tierces (par exemple, Uber Fx, Google Wire) qui aident à automatiser l'injection de dépendances, mais leur utilisation n'est pas obligatoire.
-
Variables globales ou singletons — méthode moins préférée en raison de problèmes de testabilité et de maintenance.
En Go, on privilégie généralement l'injection explicite via des paramètres, ce qui améliore la lisibilité et la simplicité du code.