Да, знаком. Dagger — это фреймворк для внедрения зависимостей (Dependency Injection, DI) в Java и Android, который компилируется во время сборки и позволяет создавать оптимизированный, производительный и легко тестируемый код.
Основные концепции включают:
@Module. Внутри модуля методы с @Provides описывают, как создать конкретную зависимость.
java
@Component. Компоненты являются "графами зависимостей".
java
@Inject для полей или конструкторов.
java
@Singleton для зависимостей с жизненным циклом приложения, пользовательские аннотации для более узких областей (например, @PerActivity).
java
Dagger также поддерживает подкомпоненты (@Subcomponent) для создания более мелких, иерархических графов зависимостей, что полезно для модульных приложений или для зависимостей с коротким жизненным циклом (например, сессии пользователя или конкретного экрана).
Основные преимущества использования Dagger: