Middle+
Kāpēc izmantot Binds, ja jau ir Provide?
sobes.tech AI
Atbilde no AI
@Binds Dagger tiek izmantots, lai sasaistītu interfeisu vai abstraktu klasi ar konkrētu realizāciju, ja realizācija jau ir atrodama atkarību grafikā. Tas ģenerē efektīvāku kodu nekā @Provides, jo tas neprasa atsevišķa objekta piemēra izveidi.
@Provides tiek izmantots, lai izveidotu objektu piemērus, kurus nevar nodrošināt caur singleton vai konstruktoru ar injekciju. Piemēram, lai izveidotu objektu no vairākiem citiem atkarībām vai konfigurētu trešās puses bibliotēku.
@Binds lietošana vietā @Provides vienkāršos gadījumos "interfeiss -> realizācija" samazina ģenerētā koda apjomu un, attiecīgi, ļauj ātrāk būvēt projektu.