для внедрения зависимостей, но ... разве чтобы получить экземпляр файла или сделать правильную реализацию DI действительно нужны все эти махинации с @inject @module и так далее? Я имею что в целом какой-то конкретный кейс использования даггер выглядит очень громоздко относительно прямой реализации руками необходимой зависимости. Есть ли случай, когда без даггера воообще никак не обойтись?
вы всегда можете не использовать DI
Нет. Есть даже люди, кто топит за "жизнь без di-фреймворков"
если делать инъекции руками в конструктор, то на 5ти слоях с четыремя модулями конструктор может вырасти до 5-6 строк кода (вообще не читаемо)
эмм, насколько я знаю даггер и другие DI изобрели как раз, чтобы убрать громоздкие реализации руками
Ну разве не читабельнее выглядит поле интерфейса в классе, чем куча нагромождений ввиде аннотаций?
Dagger сам по себе достаточно громоздкий, koi/ toothpick решают гораздо лаконичнее
ну, мне даггер тоже не нравится, но он для джавы, я koin юзаю, который очень лаконичный , специально для котлина сделан
это даггер. Hilt делает жизнь проще. Либо сервис-локатор, но это много кем не считается тру DI
Почему куча нагромождений? Интерфейсы и остаются полями
Ну просто передать через метод или конструктор же проще чем делать инжект?
сколько максимально вы передавали параметров в конструктор?
Так у тебя будет отдельный класс, где ты все руками собираешь в конструкторы. Тот же di, только самописный Попробуй koin, если ты на котлине, приятная штука
Я пока что просто изучаю теорию... А так не больше 7 наверное)
Представляете как будет выглядеть инициализация этого руками?
Обсуждают сегодня