Junior — Middle
Kāda ir @Provides anotācijas loma Dependency Injection kontekstā un kam tā kalpo?
sobes.tech AI
Atbilde no AI
@Provides anotācija tiek izmantota atkarību injekcijas bibliotēkās (piemēram, Dagger Android) lai atzīmētu metodes, kas izveido un nodrošina atkarības. Šīs metodes parasti atrodas moduļos (@Module) un ir atbildīgas par objektu izveidi, kas tiks injicēti citās lietojuma daļās.
Piemēram, ja jums ir klase, kas ir atkarīga no noteikta pakalpojuma, jūs varat uzrakstīt metodi ar @Provides, kas izveidos šo pakalpojumu un ļaus DI ietvaram automātiski to nodot tur, kur tas ir nepieciešams.
Piemērs:
@Module
public class NetworkModule {
@Provides
Retrofit provideRetrofit() {
return new Retrofit.Builder()
.baseUrl("https://api.example.com")
.build();
}
}
Tādējādi, @Provides kalpo, lai skaidri norādītu, kā veidot atkarības, kuras nevar automātiski izveidot caur konstruktoriem.