# sockeqwe/AdapterDelegates

"Favor composition over inheritance" for RecyclerView Adapters

Repository: https://github.com/sockeqwe/AdapterDelegates
Canonical: https://ross.abutalabs.com/products/adapterdelegates
Homepage: http://hannesdorfmann.com/android/adapter-delegates
Language: Java
License: Apache-2.0
License Family: permissive
Topics: recyclerview, recyclerview-adapter, delegate, composition-over-inheritance, adapterdelegates
Last push: 2024-04-18T09:55:42+00:00

## Health v2 (maintenance only)
Score: 23/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 0, release rhythm 8, longevity 100
- inputs: {"age_days": 4053, "days_push": 867, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2923, forks 312 (observed 2026-08-28T04:07:30.304025+00:00)

## What it is
An Android library for building RecyclerView adapters by composing reusable AdapterDelegate components, one per view type, following 'favor composition over inheritance'. Includes Kotlin DSL support with ViewBinding and layout container variants.

## Use cases
- manage multiple view types in a recyclerview without giant if-else blocks
- reuse view holder binding logic across adapters
- build recyclerview adapters by composing delegates
- avoid adapter hell in android lists
- support diffutils payloads in delegated adapters

## When to choose
- your RecyclerView adapter has many view types and growing conditional logic
- you want reusable, testable adapter components across screens
- you prefer composition over subclassing RecyclerView.Adapter

## When to avoid
- you have a simple single-view-type list
- you are not using RecyclerView on Android
- you want a fully declarative list framework like Jetpack Compose LazyColumn

## Facets
- artifact type: library
- maturity: maintenance
- function: ui-components, plugin-system
- domain: mobile-development, android-tools, web-development
- platform: jvm
- tags: recyclerview, adapter-delegates, composition-over-inheritance, view-holder, kotlin-dsl, viewbinding, android, mobile

## Member repositories
- sockeqwe/AdapterDelegates (main) score 23

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:30.304025+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T07:33:45.542607+00:00, confidence not recorded.
  - readme: https://github.com/sockeqwe/AdapterDelegates (fetched 2026-08-28T04:07:30.304025+00:00, sha a34888494504)
  - homepage: http://hannesdorfmann.com/android/adapter-delegates (fetched 2026-08-29T09:49:00.178471+00:00, sha 906e6b2559a8)
  - site_page: https://hannesdorfmann.com/about (fetched 2026-08-29T09:49:00.187816+00:00, sha 65f7fda601b9)
- Data as of 2026-08-30T08:39:29.467469+00:00.
