Reaktív programozás

A reaktív programozás  egy olyan programozási paradigma , amely az adatáramlásra és a változások terjedésére összpontosít. Ez azt jelenti, hogy lehetővé kell tenni a statikus és dinamikus adatfolyamok egyszerű kifejezését, és az alapul szolgáló végrehajtási modellnek automatikusan tovább kell terjesztenie a változásokat az adatfolyamon keresztül.

Például a kötelező programozásban a hozzárendelés a = b + cazt jelenti, hogy a változó aa művelet eredményét a változók b + caktuális (számítási) értékei alapján rendeli hozzá. bKésőbb a és a változók értékei cmegváltoztathatók anélkül, hogy ez befolyásolná a változó értékét a.

A reaktív programozásnál az érték aautomatikusan újraszámításra kerül az új értékek alapján.

A modern táblázatkezelő processzorok a reaktív programozás példái. A táblázat cellái tartalmazhatnak karakterlánc-értékeket vagy olyan képletet, mint a "=B1+C1", amelyek értéke a megfelelő cellák értékei alapján kerül kiszámításra. Ha az egyik függő cella értéke megváltozik, az adott cella értéke automatikusan frissül.

Egy másik példa a hardverleíró nyelvek (HDL), például a Verilog . A reaktív programozás lehetővé teszi a modellen belüli változások modellezését.

A reaktív programozást a felhasználói felületek, animációk vagy időben változó rendszerek szimulációinak egyszerű létrehozásának módjaként javasolták.

Például az MVC architektúrában a reaktív programozás segítségével megvalósíthatja a változások automatikus tükrözését a modellről a nézetre, és fordítva, a nézetről a modellre.

Fogalmak

Reaktív megközelítések a programozáshoz

Imperatív reaktív programozás

Lehetőség van a reaktív és az imperatív programozás paradigmáinak kombinálására. Egy ilyen csomagban az elengedhetetlen programok reaktív adatstruktúrákon dolgozhatnak.

Objektum orientált reaktív programozás

Az objektum-orientált reaktív programozás (OORP) az objektum-orientált megközelítés és a reaktív megközelítés kombinációja. Ennek valószínűleg az a legtermészetesebb módja, hogy a metódusok és mezők helyett az objektumokban olyan reakciók vannak , amelyek automatikusan újraszámolják az értékeket, más reakciók pedig ezen értékek változásától függenek.

Funkcionális reaktív programozás

A funkcionális programozás a reaktív architektúra megvalósításának legtermészetesebb alapja, amely jól párosul a párhuzamossággal .

A Funkcionális Reaktív Programozás (FRP) 1997-ben alakult meg a Fran nyelv javaslatával [1] . Később olyan nyelveket fejlesztettek ki, mint a Fruit, FRP és RT-FRP, FAL, Frob, Fvision, Yampa [2] .

A legegyszerűbb funkcionális reaktív kifejezés a következő formában van [3] :

b1 ` -ig ` e => b2

ami szó szerint azt jelenti, hogy " viselkedj úgy, mint b1az esemény bekövetkezése előtt e, utána viselkedj úgyb2 ".

Megvalósítások

Linkek

  1. Funkcionális reaktív animáció . Letöltve: 2015. szeptember 8. Az eredetiből archiválva : 2020. november 11.
  2. Mun Hong Cheong. Funkcionális programozás és 3D játékok . – Új-Dél-Walesi Egyetem, 2005.
  3. Hudak Pál. Moduláris tartományspecifikus nyelvek és eszközök . — IEEE Computer Society Press, Department of Computer Science, Yale University, 1998. Archiválva az eredetiből 2013. október 17-én.