Реактивне програмування
З Вікіпедії, безкоштовно encyclopedia
Реактивне програмування — це парадигма програмування, побудована на потоках даних і розповсюдженні змін. Це означає, що у мовах програмування має бути можливість легко виразити статичні чи динамічні потоки даних, а реалізована модель виконання буде автоматично розсилати зміни через потік даних.
Наприклад, в імперативному програмуванні вираз, означає, що
отримує результат виконання
безпосередньо під час обчислення виразу, і потім, якщо значення
і
зміняться, це не впливатиме на вже обчислене значення
.
Проте, в реактивному програмуванні значення буде автоматично оновлено за новими значеннями, що є протилежністю функційного програмування.
Сучасна програма електронної таблиці є прикладом реактивного програмування. Комірки електронної таблиці можуть мати буквальні значення, або формули типу «=B1+C1», що обчислюються за значеннями інших комірок. Коли б не змінилося значення іншої комірки, значення формули оновлюється автоматично.
Інший приклад — це мова опису апаратури типу Verilog. У цьому випадку, реактивне програмування дозволяє моделювати зміни по ходу їх розповсюдження по електричному ланцюгу.
Реактивне програмування спочатку пропонувалося як засіб простого створення інтерфейсів користувача, анімацій у системах реального часу, але стало загальною парадигмою програмування.
Наприклад, у архітектурі Модель-вид-контролер, реактивне програмування дозволяє змінам у моделі автоматично відображатися у виді, і навпаки.[1]