Subjects
VS
Observable
Subject
- Origen en patrón Observer
- Mecanismo para notificar a un conjunto de observadores de forma desacoplada
- Dependencia one to many
- Es como un HUB que propaga eventos
Observable
-
Mecanismo para desacoplar la iteración sobre una colección de eventos
- Representa un flujo de datos entre 2 objetos
- Observable (el que emite los datos)
- Observer (el que los recibe)
- Relación one-to-one
Subjects
- HOT - emiten incluso sin suscripción
-
one-to-many: comparten la secuencia con todos los observers
-
Tienen estado (un observer se pierde los valores emitidos antes de su suscripción)
- No son reutilizables. Una vez se completa la secuencia, es inservible
Observables
-
COLD - emiten solo cuando tienen alguna suscripción
-
one-to-one: Cada observer recibe una copia de la secuencia
-
No tienen estado (emiten desde el ppio para cada observador)
- Reutilizables. Te puedes suscribir (e iniciar la secuencia) tantas veces como quieras
El Subject es un "hub"
-
Es como un Observable (puede recibir suscripciones)
- Hereda de Observer (puede suscribirse a un Observable)
- Difunde hacia sus observers los eventos a los que él mismo está suscrito
Mecanismo para hacer multicast de un Observable
SubjectsObservable
By Enrique Oriol
SubjectsObservable
- 64