• Максимально упрощаем работу с RecyclerView
    0
    При этом даже написав 1000 методов для удобства, все равно не покроете все возможные случаи байндинга ячейки.

    как раз для оставшихся случаев можно использовать, конструкцию приведенную вами выше.

    Получается, сломали стандартный ViewHolder

    не сломал, при желании можно использовать ViewRenderer, из предыдущей статьи. В нем можно использовать стандартный ViewHolder.

    Есть, кстати, либа, которая работает примерно по такому принципу

    Да, спасибо, только там возможности RecyclerView урезаны, здесь же все доступно — DiffUtil, Payload и т д
  • Максимально упрощаем работу с RecyclerView
    0
    написать код для удобства — это разве проблема?) тем более это будет скрыто за библиотекой, не конечному же пользователю это писать.
    Если вы переживаете за «уродство», то это только лишь пример для статьи, для лучшего понимания
  • Легкая работа со списками — RendererRecyclerViewAdapter
    0
    DiffUtil работает с конкретной реализацией YourModelCallbak, а в адаптере мы работаем только с интерфейсом — ItemModel, конечно это можно сделать через интерфейс, но тогда все обязаны будут работать так — это ограничивает реализацию. В данном случае выбор остается за разработчиком, как оповещать адаптер о изменениях.
    DiffUtil можно использовать извне адаптера.
  • Легкая работа со списками — RendererRecyclerViewAdapter
    0
    можно, но зачем? к примеру: мы меняем массив в презентере и хотим вызвать не notifyDataSetChanged(), a notifyItemRangeInserted()
  • Легкая работа со списками — RendererRecyclerViewAdapter
    0
    Очень конструктивно. Да, мы так пишем, это утвержденный кодестайл внутри рабочей группы.