Sobes.tech
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.