MVP Вложенные просмотры вторсырья — где управлять изменениями просмотра

#android #design-patterns #android-recyclerview #view #mvp

#Android #дизайн-шаблоны #android-recyclerview #Вид #mvp

Вопрос:

У меня есть приложение MVP с двумя вложенными представлениями переработчика. Владельцы представления теперь отвечают за обработку изменений представления, например, изменений видимости. Но у меня также есть логика и данные, смешанные внутри моего view holder, как я могу это заказать?

Я начинаю писать контракт для каждого продукта с представлениями и действиями. Каждый просмотр вторсырья должен иметь свой собственный интерфейс просмотра и презентатор? Учитывая, что ViewHolder имеет контроль над itemView , он должен расширять интерфейс просмотра?

Ответ №1:

Вы можете повторно использовать уже имеющийся у вас презентатор, расширить текущий контракт просмотра с помощью необходимых вам методов. Предпочитайте меньшие интерфейсы, в вашем случае, другой интерфейс просмотра для ваших держателей просмотра адаптера и другой интерфейс для вашего фрагмента / действия.

Вы можете выделить специальную функцию в своем презентаторе, которая будет привязывать пассивный просмотр в адаптере, например:

presenter.bindProductViewHolder(viewHolder, position....)

Где viewHolder реализован интерфейс меньшего размера, предложенный выше.

Комментарии:

1. Итак, вы бы предложили ViewHolder сохранить ссылку на моего текущего докладчика?

2. @AgustinMagne Нет. Адаптер должен содержать ссылку на докладчика.