Sobes.tech
Junior — Middle

Дар кадом ҳолатҳо тавсия дода мешавад, ки барои сохтмонҳо дар истифодаи Dagger навиштаҷоти @Inject истифода шавад؟

sobes.tech AI

Ҷавоб аз AI

Меҳрӣ тавсия дода мешавад, ки дар Dagger барои конструкторҳо қайд кардани @Inject истифода шавад, вақте ки мехоҳед, ки Dagger автоматӣ намунаҳои ин синфро эҷод ва таъмин кунад, дар ҳоле ки вобастагиҳои онро идора мекунад.

Ҳолатҳо барои истифодаи @Inject дар конструктор:

  • Синф як вобастагӣ аст, ки бояд ба дигар компонентҳо ворид карда шавад.
  • Конструктор талаб намекунад параметрҳои иловагӣ, ки аз тариқи Dagger гирифта нашаванд.
  • Шумо мехоҳед, ки Dagger автоматӣ объектҳоро эҷод кунад, бе навиштани фабрикаҳо ё модулҳо ба дастӣ.

Масалан:

public class UserRepository {
    private final ApiService apiService;

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

Ин ҷо, Dagger медонад, ки чӣ гуна UserRepository-ро эҷод кунад, бо автоматӣ таъмин кардани ApiService.