No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Observer

20/32
Recursos

Aportes 6

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

PATRONES DE COMPORTAMIENTO
Los patrones de comportamiento nos ayudan a delegar la responsabilidad de comunicación entre clases y además de encapsularlas.
Es la base para un paradigma de programación llamado programación reactiva.
En programación reactiva hay un ente que envía eventos y hay otro ente que se suscribe a esos eventos.

En el desarrollo android, mantenemos usando este patrón sin darnos cuenta, ya que todos los listeners que usamos para los componentes gráficos, llamese OnClickListener, OnFocusChangeListener, etc., son de hecho un observer, que actuan como “sentinelas”, pendientes de algun cambio o evento en los componentes de la UI para ejecutar la acción que le hayamos programado.

Este patrón también es muy usado cuando trabajamos con notificaciones, un ejemplo: si usamos una app estilo rappi, cuando hacemos un pedido, en todo momento la app nos está notificando (estemos dentro de la app o fuera de la app) que pasa con nuestro pedido por medio de estados: “tu pedido ha sido recibido”, “tu rappi ha llegado al restaurante”, “tu rappi va en camino a tu dirección”, “tu pedido ha sido entregado”. Todos estos estados, son eventos que han sido ejecutados por los observables que están pendientes a cada cambio que se realiza en los diferentes flujos de la app.

OBSERVER
Es un patrón de diseño que nos sirve para suscribirnos a unos eventos de una clase y obtener notificaciones.

¿Cuándo usarlo?
Cuando varias vistas dependen de un dato, podríamos suscribirnos a los eventos de ese dato, y cuando cambie, actualizamos todas las vistas de manera reactiva.

Observer nos sirve para observar los eventos de una clase y obtener notificaciones de ella, como es View y ViewModel.
Se lo usa cuando varias vistas dependen de un dato, y si cambian, se actualizaran de manera reactiva.
Recordatorio: Los patrones de comportamiento nos indican toda la comunicación entre objetos.

Observer

Es un Patrón de Diseño que nos sirve para subscribirnos a unos eventos de una clase y obtener notificaciones.

Que son los patrones de comportamiento?

Los patrones de comportamiento nos ayudan a delegar la responsabilidad de comunicación entre clases y además de encapsularlas, es la base para un paradigma de programación llamado programación reactiva; En programación reactiva hay un ente que envía eventos y hay otro ente que se suscribe a esos eventos.

¿Cuándo usarlo?

Cuando varias vistas dependen de un dato, podríamos subscribirnos a los eventos de ese dato, y cuando cambie, actualizamos todas las vistas de manera reactiva.

Ejemplo de codigo:

  • Creamos un nuevo paquete llamado Observable

  • Dentro de esa carpeta creamos dos archivos:

    • Observable: Que sera una interfaz que contendrá todos los métodos necesarios

      interface Observable {
          fun addObserver(observer: Observer)
          fun removeObserver(observer: Observer)
          fun notifyObserver(newValue: Double)
      }
      
    • Observer: Es una interfaz que se encargara de notificar todos los eventos del observable

      interface Observer {
          //    Es el que va a notificar todos los eventos del observable
          fun notifyChange(newValue: Double) {}
      }
      

Implementación

Patron observer