les données aux couches supérieures • Manage les data sources • Choisi une source de vérité (single source of truth) • Une Repository pour une seule entité
hiltViewModel(), ) { val uiState by viewModel.uiState.collectAsStateWithLifecycle() ./ Mettre à jour l’écran when(uiState) { TasksUiState.Empty .> .*Afficher un ecran vide./ TasksUiState.Error .> .*Afficher un message d'erreur./ TasksUiState.Loading .> .*Afficher un Spinner./ TasksUiState.Success .> .*Afficher les données./ } } TasksScreen.kt
l'encapsulation des codes métiers complexes ou réutilisables dans plusieurs viewmodels • Vous ne devez l'utiliser qu'en cas de besoin • Représente généralement une seule action de l’utilisateur dans L’application
partie. • Chaque partie doit être testable de manière isolée. • Ne réinventez pas la roue • Chaque composant est responsable de sa politique de concurrence (Threading).