Home

eventhåndtering

Eventhåndtering er en programmeringsteknik, hvor software reagerer på begivenheder der opstår i systemet eller miljøet, som brugerinput, systemsignaler eller interne tilstandsovergange. Grundlaget er at hændelser genereres af kilder og behandles af lyttere eller håndteringsfunktioner.

Vigtige begreber: kilde (event source), hændelse (event), lytter/registrerede funktioner (event listeners), dispatch/deling (event dispatch), og eventobjektet

Flow: en kilde genererer et event; systemet finder alle registrerede lyttere og kører deres håndteringsfunktioner i

Asynkronitet og køer: Eventhåndtering kan være synkron eller asynkron. I mange sprog og miljøer anvendes callbacks,

Design og arkitektur: Eventhåndtering faciliterer decoupling gennem observer- eller publisher-subscriber-mønstre og eventbussen. Lyttere er typisk uafhængige

Udfordringer og overvejelser: fejlhåndtering i hændelsesrutiner, race-conditions ved samtidige hændelser, reentrancy og ydeevne ved store hændelsesflows.

Anvendelsesområder: grafiske brugergrænseflader, webapplikationer, mobile apps, IoT og backend-systemer der anvender hændelsesdrevne arkitekturer.

som
beskriver
hændelsen.
Mange
miljøer
understøtter
propagation;
i
webudvikling
bruges
bubbling
og
capturing
til
at
styre
rækkefølge
og
hvilke
lyttere
der
får
fat
i
hændelsen.
rækkefølge.
Håndteringsfunktionen
får
ofte
et
eventobjekt
som
parameter
og
kan
ændre
tilstanden
eller
igangsætte
yderligere
handlinger.
I
nogle
miljøer
kan
man
stoppe
yderligere
leveringer
(stopPropagation)
eller
forhindre
standardadfærd
(preventDefault).
promises
eller
async/await
til
at
håndtere
ventende
hændelser.
I
multi-trådede
systemer
kan
køer
og
separate
tråde
sikre
at
hændelser
behandles
uden
at
blokere.
af
kilden,
hvilket
forbedrer
modularitet,
testbarhed
og
forlængelse.
Dokumentation
af
hvilke
hændelser
der
udsendes
og
hvilke
lyttere
der
lytter
er
vigtigt.
Korrekt
fejllogning
og
mekanismer
som
debouncing
og
throttling
kan
hjælpe
ved
høj
frekvens
af
begivenheder.