Назад к вопросам
amoCRM
Junior — Middle
66
Можешь назвать ключевые элементы структуры Dagger, используемые для управления зависимостями?
Компании, где спрашивали
Ответ от нейросети
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);
}