Size: a a a

Android Architecture

2020 March 01

AA

Andrey Akimov in Android Architecture
рано
источник

М

Михаил in Android Architecture
Damir
или пока рано думать об архитектуре
Думать надо и пробовать тоже. Смотреть проблемы своих подходов
источник

RM

Ruslan Mingaliev in Android Architecture
Михаил
Думать надо и пробовать тоже. Смотреть проблемы своих подходов
Смотреть на проблемы применённых подходов, когда без их применения проблем нет? Странный совет
источник

KD

Konstantin Dovnar in Android Architecture
Ruslan Mingaliev
Смотреть на проблемы применённых подходов, когда без их применения проблем нет? Странный совет
Высосанные из пальца проблемы самые интересные!
источник

М

Михаил in Android Architecture
Konstantin Dovnar
Высосанные из пальца проблемы самые интересные!
В андроиде это самый используемый подход
источник

KD

Konstantin Dovnar in Android Architecture
Михаил
В андроиде это самый используемый подход
Платформа подталкивает 🤔
источник

М

Михаил in Android Architecture
Konstantin Dovnar
Платформа подталкивает 🤔
Согласен
источник

С

Сергей in Android Architecture
Всем привет. Где в MVP лучше всего мапить серверную модель к вьюшной и обратно? Пример получаю от сервера список юзеров, показываю список где юзеров можно выбрать, следовательно нужна уже модель с юзером и флагом выбран ли он. Потом выбранных нужно привести к модели без флага и отправить на сервер. Presenter получает данные через репозиторий
источник

MI

Mukhamed Issa in Android Architecture
Сергей
Всем привет. Где в MVP лучше всего мапить серверную модель к вьюшной и обратно? Пример получаю от сервера список юзеров, показываю список где юзеров можно выбрать, следовательно нужна уже модель с юзером и флагом выбран ли он. Потом выбранных нужно привести к модели без флага и отправить на сервер. Presenter получает данные через репозиторий
Модельки с флагом делать в репозиторий, модельки без флага делать в презентер)
источник

MI

Mukhamed Issa in Android Architecture
Между ними будет интерактор)
источник

С

Сергей in Android Architecture
То есть в репозитории будет что-то вроде getUsersForSelectView(): UserView и saveUsers(Users[]), я правильно понял?
источник

MI

Mukhamed Issa in Android Architecture
Сергей
То есть в репозитории будет что-то вроде getUsersForSelectView(): UserView и saveUsers(Users[]), я правильно понял?
Как я понял, у вас 3 модельки?
Один которая приходит с datasource, один которая маппится для view, а один request model?
источник

С

Сергей in Android Architecture
Mukhamed Issa
Как я понял, у вас 3 модельки?
Один которая приходит с datasource, один которая маппится для view, а один request model?
Скорее 2, request model == response model
источник
2020 March 02

MI

Mukhamed Issa in Android Architecture
Сергей
Скорее 2, request model == response model
Я бы топил за то, чтобы у каждого слоя была своя моделька. Но если request model и response model будут всегда идентичными, и если со стороны бэкенда изменения в ответе затронут и модельку для запроса, то ок)

По сабже, примерно да. getUsers в репо будет брать данные из datasource и отправлять интерактору/презентеру уже готовые к использованию данные, и оттуда же будут отравляться ваш request model =)
источник

K

Kopusha in Android Architecture
чище написать сериализаторы к ретрофиту, чтоб сразу отдавал доменные модели. Может и отдельный репозиторий не понадобится. И наверху уже UI модели, если нужно.
источник

S

Sankarsana das in Android Architecture
Привет! Пробую mvvm.

Mvp (раньше делал так):
-> (fragment) долгое нажатие на элемент списка
->(fragment) presentrer.onItemLongClicked(itemId)
-> (presenter) viewState.showActionsDialog()
-> (fragment) нажатие на элемент диалога
-> (fragment) presenter.onActionItemSelected(id)
Вью - была полностью тупая.

Mvvm (теперь так):
-> (fragment) долгое нажатеи на элемент списка
-> (fragment) showActionsDialog()
-> (fragment) viewModel.onActionItemSelected(itemid, actionId)
Теперь вью стала умнее. И в ней некоторая логика.

Я всё правильно понимаю? Или что то не то?
источник

АЕ

Алексей Ершов in Android Architecture
Можно поменять местами у вас MVVM и MVP, и ничего не изменится. Вы просто изменили логику)
источник

АЕ

Алексей Ершов in Android Architecture
MVVM и MVP отличаются только способом коммуникации View и Presenter/ViewModel, разделение ответственностей остаётся тем же самым.
источник

S

Sankarsana das in Android Architecture
Как это? А как из viewModel сказать фрагменту поакзать диалог?
источник

SB

Simon Belialov in Android Architecture
Sankarsana das
Привет! Пробую mvvm.

Mvp (раньше делал так):
-> (fragment) долгое нажатие на элемент списка
->(fragment) presentrer.onItemLongClicked(itemId)
-> (presenter) viewState.showActionsDialog()
-> (fragment) нажатие на элемент диалога
-> (fragment) presenter.onActionItemSelected(id)
Вью - была полностью тупая.

Mvvm (теперь так):
-> (fragment) долгое нажатеи на элемент списка
-> (fragment) showActionsDialog()
-> (fragment) viewModel.onActionItemSelected(itemid, actionId)
Теперь вью стала умнее. И в ней некоторая логика.

Я всё правильно понимаю? Или что то не то?
viewmodel.onItemLongClicked(itemId) ?
источник