2013-05-20 7 views
35

Kürzlich hörte ich viel den Begriff reaktive Programmierung. Aber als ich danach suchte, entdeckte ich nur einige Ähnlichkeiten mit Beobachtermuster. Eigentlich kann ich keine Unterschiede zwischen ihnen finden. Was ist konzeptioneller Unterschied zwischen ihnen und warum der Begriff reaktive Programmierung wird summt?Was ist der Unterschied zwischen Beobachtermuster und reaktiver Programmierung?

+0

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

+3

@ M.Octavio Ich sah das auch, aber es gibt keine explizite Beschreibung über konzeptionelle Unterschiede. – Eonil

+0

Wie ich es verstehe, ist der Unterschied, dass Beobachtermuster Änderungen an einem Objekt betrifft, wo reaktive Programmierung Ströme betrifft (wie der Wiki-Artikel definiert), einen Strom beobachtend. – Janaka

Antwort

31

Reaktive Programmierung ist das allgemeine Paradigma für die einfache Verbreitung von Änderungen durch die Ausführung eines Programms. Es ist kein spezifisches Muster oder eine Entität per se, es ist eine Idee oder ein Stil der Programmierung. Es ist das Konzept, dass, wenn sich x an einem Ort ändert, die Dinge, die auf den Wert x angewiesen sind, an verschiedenen anderen Orten mit einem Minimum an Aufwand neu berechnet und aktualisiert werden. Das Observer-Muster (zumindest in objektorientierten Sprachen) ist eine gebräuchliche Methode, um einen "Auslöser" zu liefern, der es ermöglicht, Informationen zu aktualisieren, wann immer eine solche Änderung vorgenommen wird (oder häufiger als OO-Ausdruck) "gefeuert." In diesem Sinne stellt es einen Mechanismus zur Verfügung, damit das Konzept der reaktiven Programmierung in OO (und manchmal anderen) Stilsprachen passieren kann.

Verwandte Themen