Sobes.tech
Назад к вопросам
Junior — Middle
66

Можешь назвать ключевые элементы структуры Dagger, используемые для управления зависимостями?

Компании, где спрашивали
amoCRMamoCRM

Ответ от нейросети

sobes.tech AI

Ключевые элементы структуры Dagger для управления зависимостями:

  • @Module — класс, который предоставляет зависимости через методы, помеченные @Provides.
  • @Provides — аннотация для методов внутри модуля, которые создают и возвращают объекты-зависимости.
  • @Component — интерфейс, который связывает модули и места внедрения зависимостей, отвечает за генерацию кода для внедрения.
  • @Inject — аннотация, используемая для конструкторов, полей или методов, чтобы указать, где и какие зависимости должны быть внедрены.

Пример:

@Module
class NetworkModule {
    @Provides
    OkHttpClient provideOkHttpClient() {
        return new OkHttpClient();
    }
}

@Component(modules = NetworkModule.class)
interface AppComponent {
    void inject(MainActivity activity);
}