strategy pattern patrones patron observer observador ejemplo diseño observer-pattern reactive-programming

observer pattern - pattern - ¿Cuál es la diferencia entre el patrón del observador y la programación reactiva?



patrones de diseño (1)

Recientemente escuché mucho el término programación reactiva . Pero cuando lo busqué, descubrí solo algunas similitudes con el patrón del observador . En realidad, no puedo encontrar ninguna diferencia entre ellos. ¿Cuál es la diferencia conceptual entre ellos y por qué el término " programación reactiva" está siendo zumbado?


La programación reactiva es el paradigma general detrás de la propagación fácil de cambios en un flujo de datos a través de la ejecución de un programa. No es un patrón específico o entidad per se, es una idea o estilo de programación (como programación orientada a objetos, programación funcional, etc.) Hablando en términos generales, es el concepto de que cuando x cambia o se actualiza en un lugar, las cosas que dependen del valor de x se recalculan y actualizan en varias otras ubicaciones con un mínimo de alboroto.

Tradicionalmente, casi siempre has visto el patrón anterior donde x es un evento GUI, y ahí es donde entra el patrón del observador: proporciona un método común para proporcionar un "disparador" que permite que la información se actualice cada vez que se realiza un cambio. (o, en términos de OO más comunes, cuando se dispara un "evento"). En ese sentido, proporciona un mecanismo simple para permitir que el concepto básico de programación reactiva ocurra en OO (ya veces en otros) lenguajes de estilo.

El concepto más completo de programación reactiva amplía el patrón del observador tradicional de alguna manera: en lugar de disparar una acción en particular en un solo evento (como un clic del usuario), puede crear y suscribirse a flujos de dichos eventos y establecer acciones para ejecutar en función de los eventos que ocurren en esa corriente