Size: a a a

Android Architecture

2020 October 07

RC

Roman Chumachenko in Android Architecture
Eugene
идея с провайдером выглядит вроде хорошо
Ну то есть факт того, что реализация провайдера знает про интерфейс репозитория - это норм? Потому что что-то внутри говорит мне "не", но объективных причин я не вижу :)
источник

NM

Nick Marchuk in Android Architecture
Roman Chumachenko
Ну то есть факт того, что реализация провайдера знает про интерфейс репозитория - это норм? Потому что что-то внутри говорит мне "не", но объективных причин я не вижу :)
Если провайдер и репозиторий находятся в одном слое, то почему бы и нет
источник

RC

Roman Chumachenko in Android Architecture
Nick Marchuk
Если провайдер и репозиторий находятся в одном слое, то почему бы и нет
Речь при этом идет про реализации или про интерфейсы? Или оба два?
источник

E

Eugene in Android Architecture
Даггер же тоже на провайдерах работает, если я правильно помню, и ты как бы щас сделал провайдер, это как будто заинжектил Single<Stuff>
источник

RC

Roman Chumachenko in Android Architecture
Eugene
Даггер же тоже на провайдерах работает, если я правильно помню, и ты как бы щас сделал провайдер, это как будто заинжектил Single<Stuff>
Даа, вот тоже об этом думал немного
В любом случае, спасибо всем откликнувшимся
источник

E

Eugene in Android Architecture
твой провайдер просто обертка над репой и посуди тоже дата слой, вот)
источник

KD

Konstantin Dovnar in Android Architecture
Alex Vayts
hash и соль не похоже на бизнес логику) это задача репозиторного уровня

а вот выбрать какому юзеру как именно собирать данные, на основе его прав доступа - это уже для домена
Странное утверждение.
Бизнес логика есть бизнес логика.

Если тебе в ТЗ\таске\доке пишут, что авторизация выполняется посредством SHA256(username + password + salt), то это и есть бизнес-логика. Выносить это в репозиторий в данном случае некорректно.
источник

AV

Alex Vayts in Android Architecture
Konstantin Dovnar
Странное утверждение.
Бизнес логика есть бизнес логика.

Если тебе в ТЗ\таске\доке пишут, что авторизация выполняется посредством SHA256(username + password + salt), то это и есть бизнес-логика. Выносить это в репозиторий в данном случае некорректно.
И если требуют шифровать данные в базе данных пишут в ТЗ - то тоже в домен выносить?
источник

VP

Vitaly Peryatin in Android Architecture
Konstantin Dovnar
Странное утверждение.
Бизнес логика есть бизнес логика.

Если тебе в ТЗ\таске\доке пишут, что авторизация выполняется посредством SHA256(username + password + salt), то это и есть бизнес-логика. Выносить это в репозиторий в данном случае некорректно.
+
источник

VP

Vitaly Peryatin in Android Architecture
Alex Vayts
И если требуют шифровать данные в базе данных пишут в ТЗ - то тоже в домен выносить?
Выносить в интерактор
источник

KD

Konstantin Dovnar in Android Architecture
Alex Vayts
И если требуют шифровать данные в базе данных пишут в ТЗ - то тоже в домен выносить?
Хранение данных не относится к бизнес логике.
источник

AV

Alex Vayts in Android Architecture
Konstantin Dovnar
Хранение данных не относится к бизнес логике.
Как и формат передачи данных для авторизации. Это же интеграционный вопрос системы.
источник

D

Donald in Android Architecture
Konstantin Dovnar
Странное утверждение.
Бизнес логика есть бизнес логика.

Если тебе в ТЗ\таске\доке пишут, что авторизация выполняется посредством SHA256(username + password + salt), то это и есть бизнес-логика. Выносить это в репозиторий в данном случае некорректно.
такая себе бизнес логика
источник

D

Donald in Android Architecture
бизнес логика = авторизация, sha256 - детали
источник

AV

Alex Vayts in Android Architecture
Donald
бизнес логика = авторизация, sha256 - детали
+
источник

KD

Konstantin Dovnar in Android Architecture
Alex Vayts
Как и формат передачи данных для авторизации. Это же интеграционный вопрос системы.
Обработка данных — бизнес-логика.

В кейсе выше вполне себе могла быть бизнес логика (читай интерактор\юзкейс) который шифровал бы данные и отдавал дальше на хранение в data.

Так и хэширование данных для дальнейшей передачи на сервер.
источник

KD

Konstantin Dovnar in Android Architecture
Donald
бизнес логика = авторизация, sha256 - детали
И если детали описаны в ТЗ — то они становятся частью бизнес-логики.
источник

D

Donald in Android Architecture
так в ТЗ и анимации могут быть описаны
источник

AV

Alex Vayts in Android Architecture
Konstantin Dovnar
Обработка данных — бизнес-логика.

В кейсе выше вполне себе могла быть бизнес логика (читай интерактор\юзкейс) который шифровал бы данные и отдавал дальше на хранение в data.

Так и хэширование данных для дальнейшей передачи на сервер.
Боюсь у нас разный взгляд на эти вещи. Мое мнение, что не вся логика - бизнес-логика. Может быть логика в слое данных, связанная с детали транспортного слоя системы. Может быть логика отображения в презентере и она не бизнес тоже.

Вопрос как определить где какая - довольно творческий
источник

KD

Konstantin Dovnar in Android Architecture
Donald
так в ТЗ и анимации могут быть описаны
Не надо всё смешивать в кучу.

Есть описание авторизации. Если сервер должен себе получить уже хэшированные данные, то это вполне себе идёт в бизнес-логику. Туда же идёт проверка корректности данных и вот это вот всё.

Деталями реализации это было бы, если бы в ТЗ было указано "захэшируйте как попало и пришлите нам", а не "мы ждём SHA256(username + password)`.
источник