Reactive programming

Reactive programming is a declarative programming paradigm where most changes are in reaction to data streams of events that are mapped, merged, split or filtered, like an array or collection that potentially has no end.