Informatik Programmierung – Reaktive Programmierung
Karteikarten zum Thema „Informatik“ · 13 Karten · von atrio. Beispiele: Was charakterisiert reaktive Programmierung? · Was ist ein Observable in der reaktive…
Karten
13 KartenWas charakterisiert reaktive Programmierung?
Rückseite
Programmierparadigma mit asynchronen Datenströmen (Streams) und Veränderungsweitergabe – Observer reagieren automatisch auf Events statt aktiv abzufragen.
Was ist ein Observable in der reaktiven Programmierung?
Rückseite
Ein Observable repräsentiert einen lazily evaluierten Datenstrom, der null bis unendlich viele Werte über Zeit emittiert und dann completed oder error signalisiert.
Welche Rolle übernimmt der Observer bzw. Subscriber?
Rückseite
Der Observer abonniert ein Observable und definiert Callback-Funktionen für next (Wert), error (Fehler) und complete (Stream-Ende).
Welche drei Signale kann ein Observable aussenden?
Rückseite
Next für Datenwerte, Error für Ausnahmen und Complete für reguläres Stream-Ende – genau eines von Error oder Complete beendet den Stream.
Was unterscheidet Hot von Cold Observables?
Rückseite
Cold Observables starten Datenproduktion pro Subscriber neu (z. B. HTTP-Request), Hot Observables teilen einen laufenden Stream unter allen Subscribern (z. B. Mausklicks).
Was bewirkt der map-Operator auf einem Stream?
Rückseite
Map transformiert jeden emittierten Wert synchron durch eine reine Funktion und gibt ein neues Observable mit den transformierten Werten zurück.
Wozu dient flatMap bzw. mergeMap in RxJS?
Rückseite
Flacht innere Observables zu einem einzigen Output-Stream ab – ermöglicht sequenzielle oder parallele asynchrone Operationen pro Quellwert.
Wie filtert man Werte aus einem reaktiven Stream?
Rückseite
Der filter-Operator lässt nur Werte passieren, die ein Prädikat erfüllen, alle anderen werden stillschweigend verworfen ohne Error oder Complete.
Was versteht man unter Backpressure?
Rückseite
Backpressure ist das Problem, wenn ein schneller Producer Daten schneller erzeugt als der Consumer verarbeiten kann – Puffer laufen über oder Speicher erschöpft.
Nenne drei gängige Backpressure-Strategien.
Rückseite
Buffering (zwischenspeichern), Dropping (neueste/älteste verwerfen), Throttling/Debouncing (Zeitfenster), sowie reactive Pull (Consumer fordert aktiv an).
Was steuert ein Scheduler in reaktiven Bibliotheken?
Rückseite
Scheduler bestimmen Ausführungszeitpunkt und Thread-Pool für Operatoren – z. B. immediate, async, animationFrame oder eigene Thread-Pools für IO/CPU.
Wesentlicher Unterschied zwischen RxJS und Project Reactor?
Rückseite
RxJS (JavaScript/TypeScript) nutzt Observer-Pattern mit next/error/complete; Reactor (Java) implementiert Reactive Streams Spec mit Publisher/Subscriber/Subscription Interface.
Wann verwendet man ein Subject statt eines Observables?
Rückseite
Subjects sind multicast-fähig und erlauben imperatives Emittieren (next/error/complete) – ideal für Event-Bus, UI-Events oder Bridge zu imperativem Code.