Size: a a a

Android Developers

2021 February 05

S

Silent829 in Android Developers
SMR_Alexey_Cherepanov
Ребят подскажите пожалуйста, не очень понимаю зачем нужен Dagger... Окей, для внедрения зависимостей, но ... разве чтобы получить экземпляр файла или сделать правильную реализацию DI действительно нужны все эти махинации с @inject @module и так далее? Я имею что в целом какой-то конкретный кейс использования даггер выглядит очень громоздко относительно прямой реализации руками необходимой зависимости. Есть ли случай, когда без даггера воообще никак не обойтись?
это даггер. Hilt делает жизнь проще. Либо сервис-локатор, но это много кем не считается тру DI
источник

RC

Roman Chumachenko in Android Developers
SMR_Alexey_Cherepanov
Ну разве не читабельнее выглядит поле интерфейса в классе, чем куча нагромождений ввиде аннотаций?
Почему куча нагромождений? Интерфейсы и остаются полями
источник

S

SMR_Alexey_Cherepano... in Android Developers
Roman Chumachenko
Почему куча нагромождений? Интерфейсы и остаются полями
Ну просто передать через метод или конструктор же проще чем делать инжект?
источник

d

danilshik in Android Developers
да только у них нету проверки во время компиляции
источник

JF

Jorik Fat in Android Developers
SMR_Alexey_Cherepanov
Ну просто передать через метод или конструктор же проще чем делать инжект?
сколько максимально вы передавали параметров в конструктор?
источник

RC

Roman Chumachenko in Android Developers
SMR_Alexey_Cherepanov
Ну просто передать через метод или конструктор же проще чем делать инжект?
Так у тебя будет отдельный класс, где ты все руками собираешь в конструкторы. Тот же di, только самописный
Попробуй koin, если ты на котлине, приятная штука
источник

S

SMR_Alexey_Cherepano... in Android Developers
Jorik Fat
сколько максимально вы передавали параметров в конструктор?
Я пока что просто изучаю теорию... А так не больше 7 наверное)
источник

JF

Jorik Fat in Android Developers
SMR_Alexey_Cherepanov
Я пока что просто изучаю теорию... А так не больше 7 наверное)
Представляете как будет выглядеть инициализация этого руками?
источник

JF

Jorik Fat in Android Developers
источник

S

Silent829 in Android Developers
Denis
по-моему, при реализации методов в ИНТЕРФЕЙСАХ теряется весь их смысл
а если она повторяется миллион раз?
источник

D

Denis in Android Developers
Silent829
а если она повторяется миллион раз?
наследование с этим не справляется?
источник

JF

Jorik Fat in Android Developers
Denis
наследование с этим не справляется?
не справляется
источник

JF

Jorik Fat in Android Developers
Denis
наследование с этим не справляется?
иногда нужно множественное поведение
источник

S

Silent829 in Android Developers
Denis
наследование с этим не справляется?
это почему-то в котлине все есть класс
источник

S

Silent829 in Android Developers
ну и да кста, унаследоваться можно от 1 класса, а реализовывать трильярды интерфейсов
источник

S

Silent829 in Android Developers
enum class нельзя унаследовать тоже
источник

JF

Jorik Fat in Android Developers
interface Animal { void move(); }
interface Fly extends Animal {
   default void move(){
       //fly
   }
}
interface Swim extends Animal {
   default void mode(){
       //swim
   }
}
когда есть Fish и Hawk тогда все понятно.
Но когда появится Duck пойдет копипаст
источник

RC

Roman Chumachenko in Android Developers
Jorik Fat
иногда нужно множественное поведение
Дай пример?
источник

JF

Jorik Fat in Android Developers
Roman Chumachenko
Дай пример?
ох, как знал :D
источник

RC

Roman Chumachenko in Android Developers
Jorik Fat
ох, как знал :D
Хах, да)
источник