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