¿Qué significa MVVM?
Model – View – ViewModel
¿Qué significa MVI?
Model – View – Intent
¿Qué es el State?
Una representación completa de la UI
Todo lo que necesite la UI
¿Qué representa una Action?
La intención del usuario
¿Dónde vive la lógica de negocio?
ViewModel
¿Cuál es la responsabilidad principal del ViewModel?
Manejar lógica de presentación
¿Qué significa “flujo unidireccional”?
Los datos siempre fluyen en una sola dirección
¿Por qué el State debe ser inmutable?
Para evitar estados inconsistentes y efectos secundarios
Da un ejemplo de Action en la Pokédex
SelectPokemon, Refresh
¿Qué hace el ViewModel cuando recibe una Action?
Ejecuta lógica y actualiza el State
¿Por qué el ViewModel no debe conocer la View?
Para evitar acoplamiento y facilitar testing
¿Por qué la UI debe ser una función del State?
Para que sea predecible y fácil de razonar
En la Pokédex, menciona 3 cosas que deberían vivir en el State
Loading, lista de Pokémon, error
¿Por qué mostrar un Snackbar no debe ir en el State?
Porque es un efecto de una sola vez (Event)
¿Por qué el ViewModel es fácil de testear?
Porque no depende de la UI ni del framework gráfico