Size: a a a

Android Architecture

2021 June 30

E

Eugene in Android Architecture
В описании есть ссылка на репозиторий с примером)
https://www.youtube.com/watch?v=MYXt_9d_2ps
источник

В

Виктор in Android Architecture
и вам спасибо)
источник

В

Виктор in Android Architecture
1. Обычно предпочтительнее делить сначала по категориям функционала(фичам), а потом уже их делить на слои? Или это больше актуально при наличии в приложении большого количества разного функционала и, в противном случае, можно делать наоборот?
2. А всякие вспомогательные utils-функции разве не в core хранят?
источник

E

Eugene in Android Architecture
1. зависит от размера проекта и его развития) обычно, фичи -> слои
2. как кому удобно)
источник

В

Виктор in Android Architecture
Спасибо. А можно еще кое-что у вас уточнить?
1. Если репозиторий не наследовать от интерфейса(который находится обычно в domain), то репозиторий все равно помещать в data или все же утащить его в domain?
2. Всякие DAO и Entity в data желательно держать?
источник

P

Pavel in Android Architecture
1. Репозиторий без интерфейса? А смысл? Репозиторий как раз и нужен, чтобы скрыть источники данных за интерфейсом. В интерфейсе репозитория используются модели domain. И сам интерфейс принадлежит domain. А имплементация - как раз принадлежит data. И там всякие dao, ретрофит и т.п. (отвечая на 2)
источник

В

Виктор in Android Architecture
Хм, о вопросе сокрытия реализации я что-то не подумал. Благодарю)
источник

VP

Vitaly Peryatin in Android Architecture
Репозиторий может быть без интерфейса, если нет необходимости подменять реализации. Ещё ни разу не встретил такой необходимости (не участвовал в проектах с большим покрытием тестов, где требовалось бы подменять репозитории)
источник

ES

Egor Sigolaev in Android Architecture
А интерфейс на уровне датасорса может быть? Допустим есть 3 разных метода получения одинаковых данных. Можно же выделить какой нить IDataSource и сделать 3 реализации его?
источник

ES

Egor Sigolaev in Android Architecture
у меня просто каждый месяц допиливается по 1 методу. И я просто в лист датасорсов добавляю еще один
источник

ES

Egor Sigolaev in Android Architecture
а сама репа уже вызывает их по очереди
источник

В

Виктор in Android Architecture
А где вы в таком случае держите интерфейс? В data или domain?
источник

P

Pavel in Android Architecture
Зависит от ситуации. Если domain не важны источники данных, то в domain может быть один интерфейс, а в имплементация уже рулит датасорсами
источник

VP

Vitaly Peryatin in Android Architecture
У меня нет интерфейса для репозитория, нигде не держу)
источник

E

Eugene in Android Architecture
интерфейса нет, а репозиторий лежит в data)
у нас тоже нет лишних интерфейсов ради интерфейсов)
источник

В

Виктор in Android Architecture
Тьфу, блин, ошибся. Я про репозиторий)
источник

VP

Vitaly Peryatin in Android Architecture
Репозитории в data -> repositories
источник

P

Pavel in Android Architecture
Получается, domain знает об имплементации репозитория. Не гуд.
источник

В

Виктор in Android Architecture
Понял, пасиб)
источник

В

Виктор in Android Architecture
Благодарю)
источник