Reactive Programming
- It is a declarative programming paradigm concerned with data streams and the propagation of change.
- It is declarative as opposed to imperative - where we need to tell the steps
- With this paradigm, it’s possible to express static (eg. arrays) or dynamic (eg. event emitters) data streams with ease
- It uses two design patterns:
- Iterator Pattern (data is pulled from iterator)
- Observer Pattern (data is pushed to observer)
- It is
event based compared to message based in reactive systems
- See also Reactive_Systems_and_EDA
Reactive Streams Specification
- Ref:
- Implementations/Inspirations:
Backpressure
- It happens when publisher is sending too fast, but the subscriber is not able to keep up