Il Reactor Pattern utilizza un gestore di servizio di intermediazione che demultiplexes le richieste e le spedizioni al gestore corretto.
Il Observer Pattern richiede che "Osservatori" registri con il soggetto, che quindi invia notifiche a tutti gli osservatori registrati quando si verifica un evento.
La differenza importante è che il Pattern del reattore gestisce l'invio con un gestore di richiesta centrale, mentre il Pattern di Osservatore consente ai consumatori di parlare direttamente con i produttori.
In pratica, il modello di osservatore può fornire maggiore flessibilità nella registrazione e nella cancellazione dinamiche dei consumatori. In applicazioni di concorrenza molto elevate offre anche il vantaggio di non disporre di un singolo dispatcher intermedio che riduce il throughput in termini di velocità. È inoltre rilevante il Lapsed Listener Problem, che si verifica quando i consumatori dimenticano di annullare la registrazione all'oggetto quando non desiderano più ricevere una notifica. Nei linguaggi raccolti con garbage collection, questo spesso impedisce al GC di essere in grado di raccogliere questi gestori di eventi e quindi di trovarli e tutti i riferimenti che contengono. Questo in genere non è possibile con il Pattern del reattore, che di solito non utilizza la registrazione dinamica (anche se teoricamente).
Sono d'accordo in molti modi reattivo è un altro nome per il modello di osservatore – kenny