Size: a a a

Moxy – MVP библиотека под Android

2020 September 12

AS

Arman Sargsyan in Moxy – MVP библиотека под Android
да, спасибо, второй вариант подошел
источник
2020 September 16

M

Mike in Moxy – MVP библиотека под Android
Привет. Инжектю в презентер (moxy) retrofitApi, мне говорят (без объяснения) что это нарушает принципы clean архитектуры. Вроде как retrofitApi это интерфейс, или всё же надо делать дополнительно в data слое интерфейс и его реализующий класс, в котором уже инжектить ретрофит и вызывать ретрофитовские методы?
источник

HR

Habanero Red in Moxy – MVP библиотека под Android
Mike
Привет. Инжектю в презентер (moxy) retrofitApi, мне говорят (без объяснения) что это нарушает принципы clean архитектуры. Вроде как retrofitApi это интерфейс, или всё же надо делать дополнительно в data слое интерфейс и его реализующий класс, в котором уже инжектить ретрофит и вызывать ретрофитовские методы?
Согласно принципам clean architecture, ретрофита в презентере вообще быть не может, потому что ретрофит находится на слое data, а презентер - на слое presentation. Между ними должен быть слой domain, в котором находится бизнес логика приложения.
источник

M

Mike in Moxy – MVP библиотека под Android
т.е. презентер должен вызывать через интерфейс класс usecase, который через интерфейс вызывает ретрофит и получает данные и из usecase передает модель обратно в презентер?
источник

VK

Vladyslav Kasprov in Moxy – MVP библиотека под Android
Mike
т.е. презентер должен вызывать через интерфейс класс usecase, который через интерфейс вызывает ретрофит и получает данные и из usecase передает модель обратно в презентер?
Как правило Presenter обращается к UseCase, который в свою очередь обращается к Repository, который уже решает где и как работать с данными. Например, делать HTTP запрос с помощью Retrofit.

UseCase находится в слое domain и инкапсулирует в себе логику бизнес-логику.

Repository находится в слое data и инкапсулирует в себе логику работы с данными - сериализацию, десериализацию, кеширование и прочее.
источник

HR

Habanero Red in Moxy – MVP библиотека под Android
Я думаю, что usecase можно инджектить в презентер без интерфейса, это нормально, что презентер знает про domain. А вот ретрофит на слой domain (usecase, interactor) нужно инджектить в виде интерфейса, который определён в слое domain. То есть, domain не должен ничего знать про существование ретрофита и data слоя в целом
источник

M

Mike in Moxy – MVP библиотека под Android
спасибо за ответы
источник

VS

Volodymyr Stelmashch... in Moxy – MVP библиотека под Android
@LopatinMike https://www.buzzsprout.com/1086191/episodes/5009951-as-11-clean-architecture

Очень рекомендую послушать, судя по ответам люди учили clean по статейкам на медиум
источник

M

Mike in Moxy – MVP библиотека под Android
Volodymyr Stelmashchuk
@LopatinMike https://www.buzzsprout.com/1086191/episodes/5009951-as-11-clean-architecture

Очень рекомендую послушать, судя по ответам люди учили clean по статейкам на медиум
Спасибо. Послушаю.
источник
2020 September 18

AS

Alexander Sitnikov in Moxy – MVP библиотека под Android
Вышла новая версия Moxy 2.2.0! Изменения в этом релизе:
- MvpView теперь может расширять не MvpView интерфесы (в этом случае нужно явно прописать стратегии)
- Для Android модулей (moxy-androidx и т.д.) не генерируются BuildConfig классы
- Если ViewStateProvider для презентера не найден, то возникает исключение
- ViewState больше не генерируется для абстрактных презентеров
- ViewStateProvider теперь нормально генерируется для вложенных презентеров
источник

G

Gorg in Moxy – MVP библиотека под Android
🎉
источник
2020 September 22

NI

Nikita Ilyasov in Moxy – MVP библиотека под Android
всем привет) у кого нибудь есть пример использования презентера внутри адаптера Recyclerview?
источник

NI

Nikita Ilyasov in Moxy – MVP библиотека под Android
хотя уже не надо, там все то же самое)
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
Nikita Ilyasov
всем привет) у кого нибудь есть пример использования презентера внутри адаптера Recyclerview?
адаптер это не вьюшка
ближайшее к вьюшке это вьюхолдер
источник

NI

Nikita Ilyasov in Moxy – MVP библиотека под Android
Евгений Храмов
адаптер это не вьюшка
ближайшее к вьюшке это вьюхолдер
понял, спасибо)
я правильно понял, что надо через MvpDelegate делать?
источник

ЕХ

Евгений Храмов... in Moxy – MVP библиотека под Android
Nikita Ilyasov
понял, спасибо)
я правильно понял, что надо через MvpDelegate делать?
все верно
но вопрос такой - холиварный
можно дождаться ответов других участников )
но по своему опыту скажу, что всех очень удивляет презентер во вьюхолдере и я еще не встречал кто бы соглашался что он нужен
источник

P

Pavel in Moxy – MVP библиотека под Android
+ к тому, что он там не нужен.
Из ViewHolder можно пробросить эвенты в фрагмент/активити. И уже дальше они пробросят в свои презентеры.
источник

NI

Nikita Ilyasov in Moxy – MVP библиотека под Android
у меня просто адаптер внутри адаптера, и ему надо получать картинки и отрисовывать, мне кажется, что самый простой вариант - презентер внутри него
источник

P

Pavel in Moxy – MVP библиотека под Android
Получать откуда?
источник

NI

Nikita Ilyasov in Moxy – MVP библиотека под Android
Pavel
Получать откуда?
из сети
источник