Android Architecture Components (parte di Jetpack) sono librerie che aiutano a costruire app robuste e mantenibili — inclusi ViewModel (stato consapevole del ciclo di vita), LiveData/StateFlow (dati osservabili) e Room (un'astrazione per il database). Supportano i pattern di architettura consigliati.
ViewModel — stato consapevole del ciclo di vita
VIEWMODEL holds UI-related state and logic, SURVIVING configuration changes:
→ state stored in a ViewModel SURVIVES screen rotation (the activity recreates, but the
ViewModel persists) → solves the lost-state-on-rotation problem
→ separates UI logic from the Activity/Fragment (the View just observes/displays)
