Size: a a a

Android Developers

2020 July 19

A

Azim in Android Developers
No problem
источник

BB

Behruz Bahromzoda in Android Developers
Умиджон Акбаралиев
Переслано от Умиджон Акбаралиев
день добрый!

ест ли кто знает помогите, как сделать ран?
Gradle build
источник

С

Сергей in Android Developers
Сергей
#noob #dagger вопрос про даггер.
4-й день смотрю видосы всё равно не могу въехать.
Например зачем в компоненте делать геттеры , если уже есть теже самые провайдеры в модуле, которые можно простои инжектить @inject ? )
#noob
Вот я открыл три разных проекта c dagger у всех AppComponent написан по разному. В одном куча геттеров (непонятно зачем), в другом нет ни геттеров, ни инжекта, в третьем одни инжекты в активити. ХЗ как делать надо ? и почему нельзя делать только одни инжекты ?
источник

Н

Никита 🙃 in Android Developers
1. Через геттеры сделали
2. Через много сабмодулей с фактори
3. Через инжект.

У каждого способа есть свои плюсы и минусы, но в 95% случаях Даггер не нужен
источник

Н

Никита 🙃 in Android Developers
Сергей
#noob
Вот я открыл три разных проекта c dagger у всех AppComponent написан по разному. В одном куча геттеров (непонятно зачем), в другом нет ни геттеров, ни инжекта, в третьем одни инжекты в активити. ХЗ как делать надо ? и почему нельзя делать только одни инжекты ?
Если по простому. В первом случае геттеры нужны, что бы провайдить эти элементы в конструкторы других.
Сабмодули - это всё всё вынесено в них
Инжекты для активити, потому что у них нет конструкторов
источник

Н

Никита 🙃 in Android Developers
В сабмодули выкидывают при разбивании по фичам, по SRP
источник

Н

Никита 🙃 in Android Developers
Чисто технически, все три способа обычно встречается в одном проекте сразу 🙃
источник

С

Сергей in Android Developers
Никита 🙃
1. Через геттеры сделали
2. Через много сабмодулей с фактори
3. Через инжект.

У каждого способа есть свои плюсы и минусы, но в 95% случаях Даггер не нужен
Ок. а какой смысл делать инжект в app, а всё остальное вызывать геттерами ? Если можно делать инжекты сразу куда надо. Тупой вопрос, но я не знаю как это спрашивать еще )
источник

Н

Никита 🙃 in Android Developers
А если noob не только по даггеру, а вообще с DI, попробуй организовать без либ
источник

Н

Никита 🙃 in Android Developers
Когда у тебя есть класс SomeFeatureRepository(someDataSource: DS, someClass: MoreThing)
То ему надо запровайдить эти 2 класса, для этого их прописывают как в первом варианте
источник

Н

Никита 🙃 in Android Developers
Вообще даггер херня ебаная. Чтоб правильно его готовить надо прям его залрачивать, иначе всеравно будет "не правильно" и непонятно. 😊
Уже 1.5 года к нему не прикасаюсь и счастлив
источник

SV

Sergey Vasilchenko in Android Developers
берешь хилт и разруливаешь все аннотациями как ниндзя 😁 правда он еще не продакшн реди, наверн
источник

Н

Никита 🙃 in Android Developers
Берешь коин и пишешь get(), get(), get() :)
источник

ES

Egor Sigolaev in Android Developers
Никита 🙃
Вообще даггер херня ебаная. Чтоб правильно его готовить надо прям его залрачивать, иначе всеравно будет "не правильно" и непонятно. 😊
Уже 1.5 года к нему не прикасаюсь и счастлив
Ну так для провайда одного класса он нафиг не нужен, а если для репозитория нужно дохера маперов, конвертеров и прочей херни, то устанешь создавать их.
источник

С

Сергей in Android Developers
всё равно не пойму почему нельзя все делать аннотациями

@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



В чем прикол DI с ручными вызывами геттера ?  
appComponent.getSomeFeatureRepository()
источник

ES

Egor Sigolaev in Android Developers
Сергей
всё равно не пойму почему нельзя все делать аннотациями

@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



В чем прикол DI с ручными вызывами геттера ?  
appComponent.getSomeFeatureRepository()
Ну как я понял, это 2 разных просто вида инжекта.
источник

ES

Egor Sigolaev in Android Developers
Сергей
всё равно не пойму почему нельзя все делать аннотациями

@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



В чем прикол DI с ручными вызывами геттера ?  
appComponent.getSomeFeatureRepository()
Тип если надо достать репозиторий и поменять в нём что то, то проще вызвать с компонента и сразу вызвать поля / методы.
источник

Н

Никита 🙃 in Android Developers
Сергей
всё равно не пойму почему нельзя все делать аннотациями

@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



@inject
Class SomeFeatureRepository (someDataSource: DS, someClass: MoreThing){}

@inject  repository: SomeFeatureRepository;



В чем прикол DI с ручными вызывами геттера ?  
appComponent.getSomeFeatureRepository()
Когда то мне тимлид говорил что это связано с жц компонентов
источник

Н

Никита 🙃 in Android Developers
Ну точнее для контроля
источник

ES

Egor Sigolaev in Android Developers
А если вопрос зашел по даггеру, то нужно ли в проектах создавать еще один компонент, если можно просто модулей подобавлять? И когда это нужно?
источник