TestableCodeMobius icon indicating copy to clipboard operation
TestableCodeMobius copied to clipboard

Место адаптера в схеме

Open achernoprudov opened this issue 9 years ago • 1 comments

Добрый день!

Большое спасибо за доклад, было очень интересно, но у меня осталось некоторое недопонимание структуры, а точнее места адаптера RecyclerView в вашей схеме. Мне кажется что они должны быть в интеракторах, но ведь адаптер не только определяет какие данные представить - он также определяет и как их представлять. Возможно вы могли бы внести ясность, ведь если onBindViewHolder будет выполняться в интеракторе это исказит вашу схему и в некоторой степени сольет view и business в одно целое. Проясните, пожалуйста, этот момент.

achernoprudov avatar Jul 21 '16 04:07 achernoprudov

Добрый день!

Адаптер - это View. Ведь по сути что делает адаптер? Он получает список элементов и просто отображает этот список в RecyclerView. Все, это вся его забота. Никакой дополнительной логики. Вся логика, как вы правильно сказали, выполняется в интеракторе либо в презентере. Все приказы на какое-либо действие адаптер получает от презентера (отфильтровать список, добавить/удалить элементы и т.д.). А дело адаптера, как и любой View, - уже решать, как это отрисовать и отобразить. Если вам необходимо еще отслеживать какие-то действия пользователя с RecyclerView (типа нажатия), то отлавливать эти действия вы можете с помощью адаптера (хотя можно и без него), а уже принятие решения, как обрабатывать действия - это задача презентера.

matzuk avatar Jul 21 '16 04:07 matzuk