Size: a a a

Android Architecture

2017 January 25

AP

Alexander Popsuenko in Android Architecture
А вот еще вопрос.
У меня интерактор, который загружает список комнат.
Также интерактор, который действует внутри комнаты, сообщения отправляет, загружает и т.п.
В комнате может произойти событие (например сообщение не отправилось), которое нужно отразить в списке комнат (добавить красненькую 1)
У меня внутренний интерактор имеет ссылку на общий и выполняет его метод, чтобы отдать презентеру обновленный список комнат и тот обновил список.
Это норм?
источник

EM

Eugene Matsyuk in Android Architecture
Alexander Popsuenko
Всем привет. У меня вопрос - куда выносить код из интеракторов? :)
У меня в одном уже 1000 строк кода, и это еще Rx + Retrolambda.
Методы только те, которые выполняют какие-либо операции на экране.
Можно реализовать интерактор по паттерну Фасад. Данный интерактор будет уже дергать соответствующие вспомогательные классы. И интерфейс бизнес-логики у нас будет единым, что очень удобно при дальнейшем сопровождении
источник

EM

Eugene Matsyuk in Android Architecture
У @kmaxim был такой же вопрос в гиттере
источник

AP

Alexander Popsuenko in Android Architecture
Eugene Matsyuk
Можно реализовать интерактор по паттерну Фасад. Данный интерактор будет уже дергать соответствующие вспомогательные классы. И интерфейс бизнес-логики у нас будет единым, что очень удобно при дальнейшем сопровождении
Да, интересно. Думаю, стоит попробовать.
источник

EM

Eugene Matsyuk in Android Architecture
Я в своё время встраивал чат в СбербанкБизнесОнлайн. И там было очень много логики. Но так как это одна бизнес-фича, то я сделал один Интерактор по Фасаду. В имплементации он по сути просто дергал вспомогательные классы.
Написал я ещё некоторые функциональные тесты.
И вот спустя 9 месяцев руководство для реализации чата решило использовать не стороннюю либу, а свою. А это другой интерфейс и вообще другая логика отправки сообщений и прослушки входящих. Просто подменой data уровня не спастись было поэтому.
Но ui тот же остаётся. И вот тогда действительно сыграло на руку такое решение с интерактором. Я просто подменил реализацию и все)
источник

AP

Alexander Popsuenko in Android Architecture
Eugene Matsyuk
Я в своё время встраивал чат в СбербанкБизнесОнлайн. И там было очень много логики. Но так как это одна бизнес-фича, то я сделал один Интерактор по Фасаду. В имплементации он по сути просто дергал вспомогательные классы.
Написал я ещё некоторые функциональные тесты.
И вот спустя 9 месяцев руководство для реализации чата решило использовать не стороннюю либу, а свою. А это другой интерфейс и вообще другая логика отправки сообщений и прослушки входящих. Просто подменой data уровня не спастись было поэтому.
Но ui тот же остаётся. И вот тогда действительно сыграло на руку такое решение с интерактором. Я просто подменил реализацию и все)
Отличный вариант.
У меня тоже протокол чата может поменяться.
источник

DB

Dmitry Berdnikov in Android Architecture
У меня вопросик по поводу Data Binding, нашел ли он у вас место в MVP архитектуре, если да, то какое? :) Биндинг сильно упрощает реализацию сложных списков, с какой нибудь логикой. Если используете, то добавляете напрямую презентер в тег <data> или создаете вспомогательный класс который обратывает ивенты и имеет ссылку на презентер?
источник

VC

Vladimir Chekyrta🦉 in Android Architecture
Всем привет, у меня вопрос который меня мучает, правильно ли я делаю. У меня в дагере2 есть модуль который провайдит интерактор в презентер, это норма ?
источник

A

Abripuit in Android Architecture
Vladimir Chekyrta🦉
Всем привет, у меня вопрос который меня мучает, правильно ли я делаю. У меня в дагере2 есть модуль который провайдит интерактор в презентер, это норма ?
Если это не норма, то зачем тогда нужен даггер
источник

sm

sasha merkulev in Android Architecture
Dmitry Berdnikov
У меня вопросик по поводу Data Binding, нашел ли он у вас место в MVP архитектуре, если да, то какое? :) Биндинг сильно упрощает реализацию сложных списков, с какой нибудь логикой. Если используете, то добавляете напрямую презентер в тег <data> или создаете вспомогательный класс который обратывает ивенты и имеет ссылку на презентер?
А вроде если есть байндинг, то это уже вроде MVVM, а не MVP?
источник

VC

Vladimir Chekyrta🦉 in Android Architecture
Ага, понял, спасибо
источник

sm

sasha merkulev in Android Architecture
Vladimir Chekyrta🦉
Ага, понял, спасибо
А презентер во вью инжектится даггером?
источник

DB

Dmitry Berdnikov in Android Architecture
sasha merkulev
А вроде если есть байндинг, то это уже вроде MVVM, а не MVP?
Ну я не сказал бы, если биндинг использовать например чисто чтоб данные засетить, и инициализицовать вьюхи типа батернайфа. Все таки MVVM это не просто биндинг)
источник

VC

Vladimir Chekyrta🦉 in Android Architecture
Да, потом в фрагмент инжектю презентер
источник

sm

sasha merkulev in Android Architecture
Dmitry Berdnikov
Ну я не сказал бы, если биндинг использовать например чисто чтоб данные засетить, и инициализицовать вьюхи типа батернайфа. Все таки MVVM это не просто биндинг)
Ну одна из отличий mvvm от других mv* это байндинг.
источник

B

Beka in Android Architecture
Dmitry Berdnikov
Ну я не сказал бы, если биндинг использовать например чисто чтоб данные засетить, и инициализицовать вьюхи типа батернайфа. Все таки MVVM это не просто биндинг)
+1
источник

B

Beka in Android Architecture
В мвп боле пасивные виюхи.
источник

B

Beka in Android Architecture
Например в ЯваЕЕ тоже есть биндинг. Но это не МВВМ фремворк(ХОтя хз что за фремворк это на самом деле))))
источник

sm

sasha merkulev in Android Architecture
Vladimir Chekyrta🦉
Да, потом в фрагмент инжектю презентер
А я инжектю презентер во вью и в конструктор презентера передаются интеркторы.
источник

VC

Vladimir Chekyrta🦉 in Android Architecture
Да да, вот у меня так же
источник