Skip to main content

Hvad er reaktiv programmering?

Reaktiv programmering er et datalogi -koncept, der beskriver egenskaberne ved et computerprogrammeringssprog, der fokuserer på automatisk at opretholde tilstanden for en applikation som de data, der bruges i programændringen.Et af de vigtigste træk ved et reaktivt programmeringssprog er, at erklærede og beregnede variabler konstant evalueres som andre variabler, der bruges i deres beregningsændring.Dette betyder, at sproget reagerer på ændringerne i statens tilstand i modsætning til at bruge mere imperative kommandoer til at styre staten, som mange traditionelle programmeringssprog gør.Det teoretiske resultat af en applikation, der anvender reaktive programmeringsfilosofier, ville være et program, der konstant og automatisk ændrer displayet eller andre faktorer baseret på de skiftende data, der flyder ind i programmet.Selvom flere imperative programmeringsmodeller kan bruges til at opnå de samme resultater som reaktiv programmering, ville målet med at skabe et reaktivt sprog være at have indbygget støtte til reaktive ændringer på det primitive niveau i stedet for på et objektniveau.

Én måde atHjælp med at afklare, hvor reaktive programmering fungerer, er at sammenligne det med imperativ programmering.Når to tal tilføjes på et imperativt sprog, gemmes resultatet af tilføjelsen normalt på et givet hukommelsessted.Operationen finder sted det øjeblik, kommandoen udføres, og resultatet afkobles fra de to numre, der blev tilføjet for at skabe summen.Dette betyder, at hvis et af de to numre, der blev tilføjet ændringer efter tilføjelsen, finder sted, ville værdien af summen ikke ændre sig, fordi det allerede er gemt i hukommelsen og adskilt fra de originale operander.

Når et reaktivt programmeringssprog tilføjerTo variabler til at skabe et sum og en af de to variabler ændres på et tidspunkt i fremtiden, så vil summen også ændre sig.Dette indebærer, at et reaktivt program har evnen til at overvåge tilstanden for de data, der bruges og til at reagere automatisk på ændringer, hvilket potentielt ændrer den samlede tilstand af hele applikationen.Der er flere modeller inden for imperativ programmering, herunder begivenhedsbaseret programmering og observatørdatamodeller, der kan udføre de samme opgaver ved at oprette strukturer, der overvåger dataændringer, men et reaktivt sprog ville have indbyggede mekanismer til at gøre dette.

brugenFor et reaktivt programmeringssprog kan det være nødvendigt med områder i områder, hvor der er behov for realtidstolkning af vilkårlige datastrømme.Dette kan omfatte videnskabelig visualisering, grafiske brugergrænseflader (GUI'er) eller endda realtidskommunikation, hvor programmet konstant ændrer sig baseret på den datastrøm, der modtages.Det skal dog bemærkes, at der virkelig ikke er nogen fuldt implementerede, uafhængige reaktive programmeringssprog.De fleste fungerende implementeringer af konceptet har form af eksterne biblioteker for mere traditionelle imperative eller funktionelle sprog.