Junior — Middle
Koje metode se mogu koristiti za implementaciju ubrizgavanja zavisnosti u kod?
sobes.tech АИ
Одговор од АИ
Uvođenje zavisnosti (Dependency Injection, DI) u Go može se realizovati na više načina, uzimajući u obzir osobine jezika:
- Kroz parametre funkcija ili konstruktora — najčešći i najjednostavniji način. Zavisnosti se eksplicitno prosleđuju prilikom kreiranja objekta ili poziva funkcije.
type Service struct {
repo Repository
}
func NewService(r Repository) *Service {
return &Service{repo: r}
}
-
Korišćenje interfejsa — omogućava lako zamenjivanje implementacija zavisnosti za testiranje ili proširenje.
-
Paketi za DI — postoje biblioteke trećih strana (npr. Uber Fx, Google Wire) koje pomažu u automatizaciji injektovanja zavisnosti, ali njihova upotreba nije obavezna.
-
Globalne promenljive ili singletoni — manje poželjan način zbog problema sa testiranjem i održavanjem.
U Go, obično se preferira eksplicitno injektovanje kroz parametre, što povećava čitljivost i jednostavnost koda.