Sobes.tech
Junior — Middle

¿De qué manera se puede notificar a View sobre eventos o cambios en la arquitectura MVP?

sobes.tech AI

Respuesta de la IA

En la arquitectura MVP (Modelo-Vista-Presentador), la Vista se notifica sobre eventos o cambios a través de una interfaz que implementa la Vista y que llama al Presentador. Las principales formas de notificación:

  • Llamadas de retorno (Callbacks): El Presentador llama a los métodos de la interfaz de la Vista para informar sobre cambios.
  • Observador (Observer): La Vista se suscribe a los eventos del Presentador y recibe notificaciones.
  • Uso de LiveData o RxJava (en Android): El Presentador actualiza los datos, y la Vista se suscribe a los cambios y responde automáticamente.

Ejemplo con interfaz de Vista:

interface MyView {
    fun showData(data: String)
    fun showError(message: String)
}

class MyPresenter(private val view: MyView) {
    fun loadData() {
        // carga de datos
        val data = "Ejemplo de datos"
        view.showData(data) // notificamos a la Vista
    }
}

De esta manera, el Presentador controla la lógica y notifica a la Vista a través de los métodos de la interfaz.