Size: a a a

Android Architecture

2020 May 28

Q

QMan in Android Architecture
Я то вообще сам сишник
источник

Q

QMan in Android Architecture
Ок, на сях с какой архитектурой работали ?
источник

А

Александр in Android Architecture
QMan
убираете общую viewmodel и всё ломается
Не убираете общую VM -> ничего не ломается.
Ez.
источник

Q

QMan in Android Architecture
)
источник

DS

Dm Savin in Android Architecture
QMan
Ок, на сях с какой архитектурой работали ?
Давайте лучше пример обсуждать, а не меряться? Меряться неинтересно
источник

DS

Dm Savin in Android Architecture
Александр
Не убираете общую VM -> ничего не ломается.
Ez.
Парни, там нету общей vm
источник

Q

QMan in Android Architecture
Dm Savin
Давайте лучше пример обсуждать, а не меряться? Меряться неинтересно
Я не меряюсь, я пытаюсь нащупать то, что Вам более понятно
источник

DS

Dm Savin in Android Architecture
QMan
Я не меряюсь, я пытаюсь нащупать то, что Вам более понятно
Ну вот пример там выше.
Объясните, зачем мне убирать vm для фрагмента?
источник

Q

QMan in Android Architecture
вы же через шаред вью модельку че то там передаете
источник

Q

QMan in Android Architecture
Получается что ваша бизнес-модель хранит какое-то состояние
источник

Q

QMan in Android Architecture
Бизнес-модель это "транзит", она получил dto после маппера, применила бизнес-правила Вашего приложения и отдала в представление
источник

Q

QMan in Android Architecture
Представление, опять-таки, конвертнула в свою модель чтобы отобразить. Только представление знает как это сделать.
источник

Q

QMan in Android Architecture
Хорошая аналогия, например, с pure кодом на си, где консольное приложение, например, не зависит от фреймворка.
источник

Q

QMan in Android Architecture
А gui (представление) уже можно выстроить на чем угодно
источник

DS

Dm Savin in Android Architecture
Там нету ни shared view, ни shared view model
Есть только shared model
Она создаётся (из бд, сети, святым духом) в момент создания активити
Потому что она общая для всего, что может быть на активити.
Активити создаёт фрагменты и передает им их view model (не model), которая инициализируется при помощи model (инжектится, святым духом етц)

Каждый фрагмент знает только про свою view model, которая предоставляет ему только необходимые ему данные. Фрагмент ничего не знает про model

Если фрагмент меняет данные во vm, vm меняет данные в model, о чем все observers (другая vm обслуживающая другой фрагмент) получает уведомления, и что-нибудь делает. Или не получает, если не подписана
Все
источник

Q

QMan in Android Architecture
Ну и вот, у Вас всё зависит от верхнего слоя, но никак не от нижнего
источник

Q

QMan in Android Architecture
Получается так: если убрать самый верхний слой, всё что ниже не работает
источник

DS

Dm Savin in Android Architecture
QMan
Ну и вот, у Вас всё зависит от верхнего слоя, но никак не от нижнего
Это один из сценариев, ептель
Все завязано на изменение модели (model)
Если она каким-то образом (через сеть, бд, святым духом) изменится, все observers получат уведомления и поменяют отображение
источник

DS

Dm Savin in Android Architecture
Неважно, кто ее поменяет, юзер или сервис.
источник

Q

QMan in Android Architecture
Важно где она находится
источник