Sobes.tech
Junior — Middle

Kokiose situacijose rekomenduojama naudoti @Inject anotaciją konstruktoriams naudojant Dagger?

sobes.tech AI

Atsakymas iš AI

Rekomenduojama taikyti @Inject anotaciją Dagger konstruktoriuose, jei norite, kad Dagger automatiškai kurtų ir teiktų šios klasės egzempliorius, valdydamas jos priklausomybes.

Situacijos, kai naudoti @Inject konstruktoriuje:

  • Klasė yra priklausomybė, kurią reikia injektuoti į kitus komponentus.
  • Konstruktorius nereikalauja papildomų parametrų, kurių negalima gauti per Dagger.
  • Norite, kad Dagger automatiškai kurtų objektus, nereikalaujant rankiniu būdu rašyti fabrikus ar modulius.

Pavyzdys:

public class UserRepository {
    private final ApiService apiService;

    @Inject
    public UserRepository(ApiService apiService) {
        this.apiService = apiService;
    }
}

Čia Dagger žinos, kaip sukurti UserRepository, automatiškai teikdamas ApiService.