Size: a a a

Android Architecture

2017 January 25

EM

Eugene Matsyuk in Android Architecture
Beka
У меня другой вопрос)) Кто привет в мир идеалогию МВП?)
Мне кажется, что в теории врят ли кто так силен)
Может у тебя получится изложить?
источник

AB

Alexander Blinov in Android Architecture
Сейчас, уже и не важно, кто придумал термин) важно то что сообщество в него вкладывает
источник

AB

Alexander Blinov in Android Architecture
Правильное применение мвп заключается в следующем (сейчас пишу только о взаимодействии верхних слоев - Presenter и View) :
1) One direction data flow (то что мы обсудили выше про void методы)
2) Распределение ответственности:
View - представление и никакой логики
Presenter - обработка событий View
3) Чувство меры: как и в любой технологии тут важно уметь остановиться. Прокидывание абсолютно всего через презентер создают метод-хелл
источник

AB

Alexander Blinov in Android Architecture
пункты 2 и 3 не противоречат друг другу, тут надо пояснить на примере:
View карточка товара со стандартным счетчиком - полюс - кол-во - минус
источник

RS

Roman Sytnyk in Android Architecture
Alexander Blinov
Правильное применение мвп заключается в следующем (сейчас пишу только о взаимодействии верхних слоев - Presenter и View) :
1) One direction data flow (то что мы обсудили выше про void методы)
2) Распределение ответственности:
View - представление и никакой логики
Presenter - обработка событий View
3) Чувство меры: как и в любой технологии тут важно уметь остановиться. Прокидывание абсолютно всего через презентер создают метод-хелл
А логика каких-то анимашек, конректных вьюшек и т.п. должны быть во вью или презентере?
источник

AB

Alexander Blinov in Android Architecture
Alexander Blinov
пункты 2 и 3 не противоречат друг другу, тут надо пояснить на примере:
View карточка товара со стандартным счетчиком - полюс - кол-во - минус
вот логику увеличения каунтера можно сделать в кастомном виджете, чтобы не выносить ее в презентер
источник

AB

Alexander Blinov in Android Architecture
Roman Sytnyk
А логика каких-то анимашек, конректных вьюшек и т.п. должны быть во вью или презентере?
да, анимации это часть представления а не бизнес логики
источник

RS

Roman Sytnyk in Android Architecture
Например, я добавляю динамические вьюшки и перекрашиваю текствью если  каких-то элементов больше 5
источник

RS

Roman Sytnyk in Android Architecture
Alexander Blinov
да, анимации это часть представления а не бизнес логики
У меня коллега очень злится, когда в кастомных виджетах вообще какая-либо логика))))
Даже геттеры не нравятся, выкидывающие класс с данными (вроде bundle или класса-модели)
источник

ВБ

Виталий Бендик in Android Architecture
Это задача вью
источник

AB

Alexander Blinov in Android Architecture
Roman Sytnyk
У меня коллега очень злится, когда в кастомных виджетах вообще какая-либо логика))))
Даже геттеры не нравятся, выкидывающие класс с данными (вроде bundle или класса-модели)
МПВ это круто, но не нужно иметь MVP головного мозга. Коллега же не злится, что TextInputLayout умеет hint поднимать)
источник

AB

Alexander Blinov in Android Architecture
тут надо не забывать про Single Responsibility: Если какую-то логику можно инкапсулировать в специальный виджет, то почему нет?
источник

A

Abripuit in Android Architecture
Roman Sytnyk
У меня коллега очень злится, когда в кастомных виджетах вообще какая-либо логика))))
Даже геттеры не нравятся, выкидывающие класс с данными (вроде bundle или класса-модели)
Дело вкуса - не значит верно
источник

A

Abripuit in Android Architecture
Кстати, а кто как решает (если сталкивался) с тем, что вот у вас есть UserScope привязанный к авторизации, но что делать если я хочу пересоздать компонент (UserComponent), а так же оповестить все модели инжектируемые этим компонентом о том, что следует завершить работу?
источник

AP

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

A

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

YS

Yuri Shmakov in Android Architecture
Можно разделить на несколько интеракторов =)
источник

A

Abripuit in Android Architecture
Или может нужно сделать несколько интеракторов
источник

AP

Alexander Popsuenko in Android Architecture
Как вариант!
Разделить операции на группы и создать для каждой интерактор.
источник

A

Abripuit in Android Architecture
Alexander Popsuenko
Как вариант!
Разделить операции на группы и создать для каждой интерактор.
Та хоть на каждую операцию)))
источник