Det begivenhedsorienteret programmering henviser til en model for computerprogrammering, hvor de begivenheder, der sker, bruges til at bestemme styringen af et program.
Det er ikke en type teknologi eller programmeringssprog, men snarere en tilgang, der implementeres i produktudviklingsfasen. Grundlæggende adskiller det logikken til hændelsesbehandling fra resten af koden i et program.
Denne type programmering er designet til at opdage begivenheder, når de sker, ved hjælp af en passende begivenhedshåndteringsprocedure til at håndtere dem, normalt ved at kalde en funktion eller metode..
Teoretisk set er denne programmerings stil kompatibel med alle programmeringssprog, skønt den kan være forskellig i den måde, den implementeres på.
Generelt er der i et hændelsesdrevet program en hovedsløjfe, der "lytter" til nye indkommende hændelser, der udløser et funktionsopkald, når de registreres. Derfor fokuserer dens drift på begivenheder, beslutter hvad de skal udføre og i hvilken rækkefølge.
Artikelindeks
Programmets strømning er givet af begivenheder, der kan være brugerhandlinger, beskeder fra andre programmer osv., Der adskiller behandlingslogikken for begivenhederne fra resten af koden i et program og derved kontrasterer med batchbehandling.
Selve begivenhederne kan variere fra at acceptere eller afvise en låneanmodning, kaldet en begivenhed på højt niveau, til en bruger, der trykker på en tast, som er en begivenhed på lavt niveau..
Det bruges til at skrive programmer designet til service uden at bremse computeren, da serviceorientering kun bruger lidt processorkraft. Derudover kører tjenesterne generelt i baggrunden af operativsystemet..
Det er en tilstand, der opstår under udførelsen af et program, og som kræver en vis handling fra systemets side. Hver begivenhed er forskellig af natur, nogle kræver, at programmet henter og viser visse oplysninger, og andre skal igangsætte nogle beregninger og tilstandsændringer..
Begivenheder inkluderer mus, tastatur, en brugergrænseflade og handlinger, der skal udløses i programmet, når de opstår. Dette betyder, at brugeren skal interagere med et objekt i programmet, såsom at klikke på en museknap, bruge tastaturet til at vælge en knap osv..
Det er en bestemt enhed i programmet, der aktiveres for at reagere på en begivenhed. Det vil sige, det er en type funktion eller metode, der udfører en bestemt handling, når en bestemt begivenhed udløses.
For eksempel kan det være en knap, der, når brugeren klikker på, viser en meddelelse, og når de klikker på knappen igen, lukker beskeden.
De er funktioner, der bestemmer, hvilken kode der skal udføres, når en bestemt begivenhed opstår. Bruges til at vælge, hvilken begivenhedshåndtering, der skal bruges, når en begivenhed opstår.
Det er en bestemt kode, der kører på et bestemt tidspunkt. Dette betyder, at det er en forudindstillet opgave, der skal udføres.
Windows-opdatering er et eksempel på kontrolleret tid, hvor brugeren kan indstille, hvornår opdateringen skal opdateres, eller hvornår opdateringen skal kontrolleres og downloades.
Begivenhedsorienterede programmer er blevet meget almindelige. Blandt de mest fremtrædende eksempler er tekstbehandling, tegneværktøjer, regneark osv..
De fleste moderne messaging-systemer følger også det hændelsesdrevne mønster, mens store websteder bruger skalerbare og hændelsesdrevne arkitekturer af distribueret art. Andre eksempler er:
- Der blev trykket på en tast (teksteditor).
- En ny opgavekalender er klar til at blive distribueret til alt personale (ledelsessystem).
- HTML-besked modtaget (webserver).
- Der er fundet et ulovligt handelsmønster (afsløring af svig).
- En bil i et computerspil kolliderer med en anden bil (racerspil).
- En robot har nået sit mål (lagerstyring i realtid).
Et praktisk eksempel på en begivenhed, der anvendes i begivenhedsdrevet planlægning, kan være en medarbejder, der ansøger om arbejdstilladelse i et system. Når denne medarbejder udsender sin anmodning, aktiverer han en meddelelse, der sendes til lederen til godkendelse..
Administratoren kunne se detaljerne i anmodningen, godkende eller afvise den og opdatere den i systemet uden behov for at starte yderligere sessioner.
Handlingerne i et program, der følger det grundlæggende i begivenhedsorienteret programmering, initieres af begivenheder:
- Hardware.
- Planlagt.
- Kørselstid.
- Fra operativsystemet.
- Udløst af brugerinstruktioner givet gennem interaktion med programmets GUI.
I sin enkleste tilstand skal programmører svare på følgende spørgsmål: "Hvad skal der ske, når en bestemt begivenhed opstår?".
Følgende pseudo-kode rutine viser, hvordan en meget enkel planlægger kan fungere. Den består af en hovedsløjfe, der løber kontinuerligt, indtil der opstår en termineringsbetingelse.
Når en begivenhed opstår, skal planlæggeren bestemme begivenhedstypen og vælge en passende begivenhedshåndterer eller håndtere begivenheden, hvis der ikke findes en passende begivenhedshåndterer.
På grund af udbredelsen af data mellem flere processorer og begivenhedshåndterere.
Dette er den vigtigste fordel ved begivenhedsorienteret programmering, hvilket forbedrer brugeroplevelsen. Nuværende brugere ønsker at deltage aktivt og ikke forblive passive forbrugere.
Derfor hjælper begivenhedsbaserede programmer brugerne med at navigere i deres egen oplevelse og udforske en række muligheder uden forudindstillede begrænsninger..
Denne programmeringsmetode har mange fordele for alle interessenter, da færre beslutninger kræves for at være hårdkodede end traditionelle applikationer..
Mange begivenheder bestemmes af brugerhandlinger snarere end at have avanceret kodning til alle mulige scenarier. Mens traditionelle applikationer fungerer, reagerer begivenhedsdrevne applikationer.
Perfekt egnet til nylige softwareudviklingstendenser såsom cloud computing, mikrotjenester og behovet for bedre skalerbarhed med fleksible og distribuerede systemer.
Eliminerer muligheden for poster med ugyldige værdier. En traditionel applikation stiller et spørgsmål og giver brugeren mulighed for at skrive et svar. Begivenhedsdrevne applikationer tilbyder normalt et sæt valgmuligheder, enten som knapper eller som rullemenuer..
Behovet for at korrigere og justere eksisterende kode, når du tilføjer eller fjerner moduler, elimineres. Systemet fungerer fortsat problemfrit uanset en sådan justering.
Derfor er denne programmering velegnet til applikationer med kontrolstrømme baseret på et sæt interne og eksterne begivenheder snarere end baseret på en struktur.
Denne programmeringsmetode er ikke den bedste mulighed for små og enkle applikationer, fordi den indsats, der skal gøres, ikke viser sig at være fornuftig.
Udvikling af en hændelsesdrevet applikation øger kompleksiteten i systemdesign og levering. Dette skyldes, at traditionelle softwarearkitekturer er baseret på anmodningsbaserede interaktioner snarere end begivenhedsdrevne interaktioner..
Derudover kræves der også en stor forberedelse på grund af behovet for uophørligt dynamiske begivenhedssløjfer..
Det skal bemærkes, at begivenhedsorienteret programmering ikke erstatter traditionel struktureret programmering, men kun supplerer den.
Traditionelle programmeringsmetoder er stadig vigtige for at skrive det overordnede program, mens de hændelsesdrevne kodningselementer kun tjener til at hjælpe med at designe GUI..
Fleksibiliteten ved begivenhedsorienteret programmering, som er dens ubestridte fordel, bliver også et bedrageri i visse scenarier. En af disse manifestationer er uforudsigeligheden af et begivenhedsorienteret program, hvis det har ændringer og en svagere kontrol over systemet generelt..
Selvom kodere kan lide at bruge begivenhedsdrevet programmering for at foretage friktionsfri justeringer, såsom fjernelse eller tilføjelse af nogle funktionelle moduler, kan disse justeringer føre til uventede ændringer i funktionalitet..
I konventionel programmering opdager systemet meget hurtigt disse operationelle anomalier og leverer en rapport til programmøren om deres årsager. I det hændelsesdrevne programmeringsmiljø er det mindre hurtig og let at opdage sådanne fejl.
Da begivenhedsdrevet programmering viser sig at være mere en tilgang end en type sprog, kan begivenhedsbaserede applikationer oprettes på ethvert programmeringssprog..
Begivenhedsdrevet programmering transformerer verdenen af softwareudviklingstjenester og bliver en integreret del af nutidens udvikling. Dens diffusion blev stimuleret af Windows og diffusionen af visuelle miljøer.
Et tilfælde af en hændelsesdrevet situation vil ligne en wake-up timer, der er indstillet til at udføre en bestemt opgave på et bestemt tidspunkt, såsom at ringe og kommunikere noget, der siger "Vågn op!".
Denne planlægningsmetode er begivenhedsfokuseret. Dens mest almindelige applikationsområder inkluderer oprettelse af grafisk brugergrænseflade (GUI), serverapplikationer og udvikling af multiplayer-spil..
Mens konventionelle programmer etablerer strømmen af begivenheder og har kontrol over brugerindstillinger, tjente denne mere innovative programmering til at skabe GUI.
GUI ændrede interaktion mellem menneske og computer ved at tilbyde brugerne flere muligheder i form af rullemenuer, vinduer, knapper og afkrydsningsfelter..
Derfor, i stedet for at følge den forudbestemte rækkefølge af handlinger, der er indstillet af computeren, kan brugerne vælge en af de mange tilgængelige kommandoer alene..
Ud over at denne programmering anvendes bredt i grafiske brugergrænseflader, også i applikationer, der udfører bestemte handlinger som svar på brugerinput, såsom JavaScript-webapplikationer..
Endnu ingen kommentarer