ViewHolders
A ViewHolder is a design pattern used in Android development, primarily within adapter-backed views such as RecyclerView and ListView. Its main purpose is to improve performance by recycling views as the user scrolls through a list. Instead of creating a new view for each item in the data set, which can be resource-intensive, ViewHolder pattern reuses existing views.
The pattern involves creating a custom class that holds references to the individual views within a list
This approach significantly reduces the number of times `findViewById()` is called, which is a relatively slow