Sobes.tech
Junior — Middle

Explique el principio de funcionamiento del patrón arquitectónico MVVM y sus componentes.

sobes.tech AI

Respuesta de la IA

MVVM (Model-View-ViewModel) — patrón arquitectónico que divide la lógica de la aplicación en tres componentes:

  • Model — modelo de datos y lógica de negocio. Se encarga del trabajo con los datos, por ejemplo, cargar desde la red o una base de datos.

  • View — interfaz de usuario, que muestra los datos y recibe acciones del usuario.

  • ViewModel — intermediario entre Model y View. Contiene la lógica de presentación, transforma los datos del modelo en un formato adecuado para mostrar y procesa los comandos del usuario.

Principio de funcionamiento:

  • La View se suscribe a los cambios en el ViewModel (por ejemplo, mediante enlaces o observadores).
  • El ViewModel solicita datos al Model y actualiza su estado.
  • Cuando los datos cambian, el ViewModel notifica a la View, que actualiza la interfaz.

Esta separación facilita las pruebas y el mantenimiento del código, ya que la interfaz y la lógica de negocio están separadas.

Ejemplo en Swift usando Combine:

class ViewModel: ObservableObject {
    @Published var text: String = ""

    func fetchData() {
        // carga de datos y actualización de text
        text = "Datos cargados"
    }
}

// La View se suscribe a los cambios en el ViewModel y actualiza la UI automáticamente