ViewHolder должен уметь просто представить данные (готовые данные) в удобной пользователю форме. Адаптер тоже должен получать уже готовые данные. Если нужно, то ViewHolder может кинуть эвент, что на него где-то нажали. Этот эвент ты можешь обработать, где хочешь. По факту api у твоего списка должно быть такое: myAdapter.updateData(data). Если приходится накручивать какую-то сложную логику, то надо делать это со стороны. Инкапсулируй свой список в какой-нибудь контроллер и используй его. Но делать презентер для каждого вью холдера - это жестко. Хотя мб я чего-то не понимаюю
Адаптер должен преобразовывать данные одного вида в данные другого вида согласно паттерну.
Дроидовский адаптер впринципе выполняет эту задачу. Он преобразовует из списка неких объектов в список viewholder-ов, которые в свою очередь отдает AdapterView, когда она его просит.
Но тут получается проблема. Вью-холдер - это по сути вьюшка. Он отображает данные и делегирует действия пользователя классу, ответственному за управление(согласно шаблону, который вы используете).
И тут становится вопрос: а что собственно является таким классом для холдера? Адаптер? И куда этот адаптер ложить? В презентер, или во вью? Он вроде как занимается рендерингом айтемов. Так что по-идее вью. Но он же вроде как анализирует список. Так что по идее презентер. И вот куда его?
Я тут вижу два логичных варианта:
1. Инкапсулировать адаптер во вью. Это вроде проще. Но тогда этот... эм... модуль нагружается логикой по типу: обнови состояние такое-то на айтеме в позиции N. И по факту выходит , что вью А(фрагмент) управляет вью Б(вью-холдер), что нагружает ее и делает на мой взгяд слишком умной для вью.
2. То, что я собсно предложил. Тогда вью презентер MyListView подписуется на "получен новый итем", "итем удален" и ... собственно все. А управлением каждым холдером , занимается отдельный презентер(ну или что у вас там). Тогда адаптер, как тулза для рендеринга становится вполне логичной частью вью без компромиссов.
Я видел третий вариант, когда адаптер принимают за отельный вью. По мне так это странный вариант, но имеет право на жизнь впринципе.
Важно понимать, что я не пытаюсь сказать: "вот так правильно". Это скорее что-то вроде: "можно вот так сделать. Вроде норм получается"