2013-05-20 11 views
35

Recentemente ho sentito molto il termine programmazione reattiva. Ma quando l'ho cercato, ho scoperto solo alcune somiglianze con il modello di osservatore . In realtà, non riesco a trovare nulla di diverso tra loro. Qual è la differenza concettuale tra di loro e perché il termine programmazione reattiva viene ronzato?Che differenza c'è tra schema dell'osservatore e programmazione reattiva?

+0

http://en.wikipedia.org/wiki/Reactive_programming#Similarities_with_observer_pattern –

+3

@ M.Octavio L'ho visto anche io, ma non c'è una descrizione esplicita della differenza concettuale. – Eonil

+0

A quanto ho capito la differenza è che il pattern Observer riguarda le modifiche a un oggetto in cui la programmazione reattiva riguarda i flussi (come definisce l'articolo Wiki), osservando un flusso. – Janaka

risposta

31

La programmazione reattiva è il paradigma generale dietro le modifiche facilmente propaganti attraverso l'esecuzione di un programma. Non è un modello specifico o entità per sé, è un'idea, o uno stile di programmazione. È il concetto che quando si modifica x in una posizione, le cose che dipendono dal valore di x vengono ricalcolate e aggiornate in varie altre posizioni con un minimo di confusione.

Il pattern di osservatore (almeno nei linguaggi object oriented) è un metodo comune per fornire un "trigger" per consentire l'aggiornamento delle informazioni ogni volta che viene apportata una modifica (o, in termini OO più comuni, quando un "evento" "è licenziato.) In questo senso, fornisce un meccanismo per consentire il concetto di programmazione reattiva in OO (e talvolta in altri linguaggi di stile).