¿Qué es el patrón de diseño de Observer?

Intentemos comprender la analogía del patrón de diseño del observador con un ejemplo de Quora. Como puedo ver en este momento, esta pregunta (¿Qué es el patrón de diseño del observador?) Es seguida por 5 personas en quora.

¿Qué hace después de una pregunta?

  1. Tan pronto como presione el botón Enviar después de escribir esta respuesta mía, las 5 personas que son los seguidores recibirán una notificación de que alguien ha escrito una respuesta a esta pregunta.
  2. ¿Por qué recibieron esa notificación? Porque eran seguidores o pueden llamarse Observadores.
  3. La pregunta quora es lo que llamamos sujeto.
  4. ¿Cuándo se entregó la notificación? Cuando envié una respuesta o cualquier otra persona que envíe la respuesta.
  5. No sucedió que Quora enviara al azar notificaciones a algunas personas si querían leer la respuesta o no. Solo se envió a personas que se suscribieron al Asunto (pregunta).

De esto se trata el patrón de observador. El patrón de observador estableció una relación de uno a muchos entre el sujeto y los observadores. Cualquier persona que quiera ser observador debe suscribirse al tema (siga la pregunta). En caso de que el observador ya no quiera recibir notificaciones sobre el Asunto, cancele la suscripción al Asunto.

Para obtener más ejemplos, consulte esta publicación titulada, Patrón de observador: ejemplos introductorios . Para comprender más al respecto, consulte este artículo titulado, Conceptos básicos del patrón de observador .

También puede suscribirse a este archivo, Patrones de diseño , para conocer otros patrones y sus aplicaciones.

En el patrón de diseño del Observador, hay un Asunto que mantiene la lista de Observadores que esperan cualquier actualización sobre el Asunto. Una vez que hay una actualización en Asunto, notifica a todos los observadores el cambio.

Por ejemplo, en la vida real, los estudiantes esperan el resultado de su examen. Aquí los estudiantes son los observadores y la prueba es el tema. Una vez que se conoce el resultado de la prueba, la organización de prueba notifica a todos los estudiantes sobre su resultado.

El uso más popular del patrón Observer es en el patrón arquitectónico Model View Controller (MVC).

El problema principal con el patrón de Observer es que puede causar pérdidas de memoria. El tema tiene una fuerte referencia a los observadores. Si los observadores no se anulan el registro a tiempo, puede provocar una pérdida de memoria.

Referencia : 50 preguntas principales de la entrevista de patrones de diseño de Java

¡Sígueme en Gautam Gupta para aprender más sobre patrones de diseño!

Es parte de la categoría de patrón de diseño de comportamiento.

El patrón de observador se usa cuando hay una relación de uno a muchos entre los objetos. Por ejemplo -> si se modifica un objeto, sus objetos dependientes deben ser notificados automáticamente.

La programación reactiva se realiza principalmente utilizando un patrón de diseño de observador.