Size: a a a

Android Architecture

2020 February 13

Kd

Konstantin dmz9 in Android Architecture
Constantine Cerberus
Ну экранов Мона и 100 наклипать с одной строчкой
нельзя
источник

АЕ

Алексей Ершов in Android Architecture
vitaly
может быть)
Как бы вы разрешили ситуацию с сервисом?
Слой фреймворков, как и сказали. Воспринимать как внешний сервис, работать через любую абстракцию. Если пуши приходят, то как источник данных, если показывать уведомления, то через какой-то свой менеджер уведомлений.
источник

CC

Constantine Cerberus in Android Architecture
Konstantin dmz9
нельзя
Можно но никто в здравом уме и средней адекватности это делать не будет
источник

Kd

Konstantin dmz9 in Android Architecture
Constantine Cerberus
Можно но никто в здравом уме и средней адекватности это делать не будет
тогда зачем этот аргумент про однострочность был?
источник

Kd

Konstantin dmz9 in Android Architecture
мне вот нравится порядок в сорсах - бью по пакетам, по модулям. кому то похер - вообще не запариваются, наебенили хелперов и менеджеров-всякой-поебени.kt и в прод
источник

CC

Constantine Cerberus in Android Architecture
Konstantin dmz9
тогда зачем этот аргумент про однострочность был?
Это было образное выражение не больше не меньше
источник

Kd

Konstantin dmz9 in Android Architecture
ну а какой ответ тогда нужен на вопрос "когда стоит начать бить на модули" - когда появится ощущение бардака?
источник

Kd

Konstantin dmz9 in Android Architecture
размер проекта роли тогда не будет играть
источник

Kd

Konstantin dmz9 in Android Architecture
в телеге вот не играет и на модули она не побита по каждому экрану и по слою, и ничего
источник

CC

Constantine Cerberus in Android Architecture
Konstantin dmz9
мне вот нравится порядок в сорсах - бью по пакетам, по модулям. кому то похер - вообще не запариваются, наебенили хелперов и менеджеров-всякой-поебени.kt и в прод
Порядок нужно , просто по мне так модульность не всем будет нужна и не факт что они получат выгоду в использовании данного подхода.
А с учётом того когда точного разделения нету что куда пихать так как каждый по своему это интерпретирует
источник

CC

Constantine Cerberus in Android Architecture
Konstantin dmz9
ну а какой ответ тогда нужен на вопрос "когда стоит начать бить на модули" - когда появится ощущение бардака?
Это понимание приходи со временем и пониманием как и что происходит в проекте и где берет время на сборку и от чего это зависит это то что касается разделения на модули, а вот разделе на логические слои и пакеты это нужно делать всегда и это будет правильнее нежели пытался угнаться за трендами
источник

DS

Dmitry Sokolov in Android Architecture
А если мы какую-то логику выделили в юзкейс, и хотим его заинжектить в сервис, получается инверсия зависимостей не працюэ
источник

DS

Dmitry Sokolov in Android Architecture
Выделить в отдельный пакет - как решение оптимально. Да, это хз что. Не дата, не домен, не курица, не рыба. Но в этом на самом деле и есть лозейка. Мы можем инжектить и компоненты домена и даты, тем самым ничего не нарушается.
источник

DS

Dmitry Sokolov in Android Architecture
Те же Worker-ы, те же Сервисы, они в себе могут иметь как логику приложения(это получаеся домен), так и зависимости для персистенса, к примеру.
источник

DS

Dmitry Sokolov in Android Architecture
То есть по факту все вроде как и довольны и не довольны тем, что это отдельный пакет
источник

DS

Dmitry Sokolov in Android Architecture
но даже дядька Боб гвоорил, что мы все немного пираты и можем нарушать какие-то правила, тем более, что принцип Clean Architecture - это не правила, а скорее рекомендации:)
источник

KD

Konstantin Dovnar in Android Architecture
Dmitry Sokolov
но даже дядька Боб гвоорил, что мы все немного пираты и можем нарушать какие-то правила, тем более, что принцип Clean Architecture - это не правила, а скорее рекомендации:)
источник

KD

Konstantin Dovnar in Android Architecture
Не стоит нарушать кодекс, сынок.
источник

DS

Dmitry Sokolov in Android Architecture
:)
источник

DS

Dmitry Sokolov in Android Architecture
Есть и другой аргумент для отдельного пакета. Вы внедряете зависимости как раз в сервисы и воркеры. Иметь зависимость сервиса или воркера является вообще абсурдной вещью, потому что у нее жизненный цикл не чисто жабовский, где выделелась память под зависимость и ждет пока ее инжектор добавит куда надо. Сервис может быть остановлен, а воркер может просто сразу закенселиться. То есть, это все к тому, что как раз в воркеры и в прочие сервисы инжектятся сконструированные зависимости, в то время как зависимости из дата слоя могут внедряться в элементы домена, а элементы домена в элементы presentation-слоя.
источник