- Funktioner i begivenhedsorienteret programmering
- Begivenhedsafhængighed
- Serviceorienteret
- Begivenheder
- Controller
- Udløserfunktioner
- Tidsstyret
- Eksempler på begivenhedsstyret programmering
- Arbejdstilladelse
- Indledning af handlinger
- Fordel
- Hurtigere behandling
- Interaktivitet
- Mindre kodning af beslutninger
- Fleksibilitet
- Gyldige billetter
- Nem vedligeholdelse
- Ulemper
- Kompleks kontrolstrøm
- Det erstatter ikke struktureret programmering
- Fleksibilitet
- Applikationer
- Grafisk brugerflade
- Referencer
Den begivenhedsstyrede programmering refererer til en model til computerprogrammering, hvor de begivenheder, der sker for at bestemme et programs styringsstrøm, bruges.
Det er ikke en type teknologi eller programmeringssprog, men snarere en tilgang, der implementeres i produktudviklingsstadiet. Grundlæggende adskiller den hændelsesbehandlingslogikken 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 anderledes i den måde, den implementeres på.
Generelt er der i en begivenhedsdrevet applikation en hovedsløjfe, der "lytter" til nye indgående hændelser, der udløser et funktionsopkald, når de registreres. Derfor fokuserer dens drift på begivenheder, beslutter, hvad der skal udføres, og i hvilken rækkefølge.
Funktioner i begivenhedsorienteret programmering
Kilde: pixabay.com
Begivenhedsafhængighed
Strømmen af programmet er givet af begivenheder, der kan være brugerhandlinger, meddelelser fra andre programmer osv., Der adskiller logikken for behandlingsbegivenheder fra resten af et programkode, hvilket således står i kontrast til batchbehandling.
Begivenhederne i sig selv 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.
Serviceorienteret
Det bruges til at skrive programmer designet til service uden at bremse computeren, da serviceorientering kun bruger lidt behandlingskraft. Tjenesterne kører også generelt på baggrund af operativsystemet.
Begivenheder
Det er en betingelse, der opstår under udførelsen af et program, og som kræver en vis handling fra systemets side. Hver begivenhed er af forskellig art, nogle kræver, at programmet henter og viser visse oplysninger, og andre kræver nogle beregninger og tilstandsændringer, der skal igangsættes.
Begivenheder inkluderer musen, tastaturet, en brugergrænseflade og handlinger, der skal udløses i programmet, når de forekommer. 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.
Controller
Det er en bestemt enhed i programmet, der aktiveres til 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 en bruger klikker på den viser en meddelelse, og når de klikker på den knap igen lukker meddelelsen.
Udløserfunktioner
Det er funktioner, der bestemmer, hvilken kode der skal udføres, når en bestemt begivenhed finder sted. De bruges til at vælge hvilken begivenhedshåndterer, der skal bruges, når en begivenhed opstår.
Tidsstyret
Det er en bestemt kode, der kører på et bestemt tidspunkt. Dette betyder, at det er en forudindstillet opgave at udføre.
Windows-opdatering er et eksempel på kontrolleret tid, hvor brugeren kan indstille, hvornår den skal opdateres, eller hvornår den skal kontrolleres og downloades opdateringen.
Eksempler på begivenhedsstyret programmering
Begivenhedsorienterede programmer er blevet meget almindelige. Blandt de mest fremtrædende eksempler er tekstbehandling, tegneværktøjer, regneark osv.
De fleste moderne meddelelsessystemer følger også det begivenhedsdrevne mønster, mens store websteder bruger skalerbare og begivenhedsstyrede arkitekturer af en distribueret karakter. Andre eksempler er:
- Der blev trykket på en tast (teksteditor).
- En ny opgavekalender er klar til at blive distribueret til alt personale (ledelsessystem).
- Der er modtaget en HTML-meddelelse (webserver).
- Der er fundet et ulovligt handelsmønster (bedrageri afsløring).
- En bil i et computerspil kolliderer med en anden bil (racerspil).
- En robot har nået sin destination (lageradministration i realtid).
Arbejdstilladelse
Et praktisk eksempel på en begivenhed, der bruges i begivenhedsstyret programmering, kan være en medarbejder, der ansøger om en arbejdstilladelse på 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 at skulle starte yderligere sessioner.
Indledning af handlinger
Handlingerne i et program, der følger de grundlæggende elementer i begivenhedsorienteret programmering, initieres af begivenheder:
- Hardwaren.
- Planlagt.
- Af udførelsestid.
- Fra operativsystemet.
- Aktiveret af brugerinstruktioner givet gennem interaktion med programmets GUI.
I sin enkleste tilstand skal programmerere besvare spørgsmålet: "Hvad skal der ske, når en bestemt begivenhed opstår?"
Følgende pseudokode-rutine viser, hvordan en meget enkel planlægning muligvis fungerer. Det består af en hovedsløjfe, der kører kontinuerligt, indtil der opstår en vis termineringstilstand.
Når en begivenhed finder sted, skal planlæggeren bestemme begivenhedstypen og vælge en passende begivenhedshåndterer eller håndtere begivenheden, hvis en passende begivenhedshåndterer ikke findes.
Fordel
Hurtigere behandling
På grund af udbredelsen af data mellem flere processorer og begivenhedshåndterere.
Interaktivitet
Dette er den vigtigste fordel ved begivenhedsorienteret programmering, hvilket forbedrer brugeroplevelsen. Dagens brugere ønsker aktivt at deltage og ikke forblive passive forbrugere.
Derfor hjælper begivenhedsbaserede programmer brugere med at navigere i deres egen oplevelse og udforske en række muligheder uden forudindstillede begrænsninger.
Mindre kodning af beslutninger
Denne tilgang til programmering har mange fordele for alle interessenter, da færre beslutninger er nødvendige for at kode end traditionelle applikationer.
Mange begivenheder bestemmes af brugerhandlinger snarere end at have avanceret kodning for alle mulige scenarier. Mens traditionelle applikationer fungerer, reagerer begivenhedsstyrede applikationer.
Fleksibilitet
Det passer perfekt til de nyeste tendenser inden for software-engineering såsom cloud computing, mikroservices og behovet for bedre skalerbarhed med fleksible og distribuerede systemer.
Gyldige billetter
Eliminerer muligheden for poster med ugyldige værdier. Et traditionelt program stiller et spørgsmål og giver brugeren mulighed for at indtaste et svar. Begivenhedsdrevne applikationer tilbyder typisk et sæt indstillinger, enten som knapper eller som rullemenuer.
Nem vedligeholdelse
Behovet for at korrigere og justere eksisterende kode, når man tilføjer eller fjerner moduler, elimineres. Systemet fortsætter med at fungere 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.
Ulemper
Kompleks kontrolstrøm
Denne tilgang til programmering 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 begivenhedsstyret applikation øger kompleksiteten af systemdesign og levering. Dette skyldes, at traditionelle softwarearkitekturer er baseret på anmodningsbaserede interaktioner snarere end begivenhedsstyrede interaktioner.
Derudover kræves også en hel del forberedelse på grund af behovet for konstant dynamiske begivenhedsløjfer.
Det erstatter ikke struktureret programmering
Det skal bemærkes, at begivenhedsorienteret programmering ikke erstatter traditionel struktureret programmering, men kun supplerer den.
Traditionelle programmeringsmetodologier forbliver essentielle til skrivning af det samlede program, mens de begivenhedsdrevne kodningselementer kun tjener til at hjælpe med at designe GUI.
Fleksibilitet
Fleksibiliteten af begivenhedsorienteret programmering, som er dens ubestridte fordel, bliver også til svindel i visse scenarier. En sådan manifestation er uforudsigeligheden af et begivenhedsorienteret program, hvis det har ændringer og svagere kontrol over det samlede system.
Selvom kodere gerne bruger begivenhedsstyret programmering for at foretage friktionsfri justeringer, såsom at fjerne eller tilføje nogle funktionelle moduler, kan disse justeringer føre til uventede ændringer i funktionalitet.
I konventionel programmering opdager systemet meget hurtigt disse operationelle afvigelser og leverer en rapport til programmereren om deres årsager. I det begivenhedsstyrede programmeringsmiljø er detektering af sådanne fejl mindre hurtig og let.
Applikationer
Da begivenhedsstyret programmering viser sig at være mere en fremgangsmåde end en type sprog, kan begivenhedsbaserede applikationer oprettes på ethvert programmeringssprog.
Begivenhedsstyret programmering transformerer verdenen inden for softwareudviklingstjenester og er ved at blive en integreret del af dagens udvikling. Dens diffusion blev stimuleret af Windows og diffusion af visuelle miljøer.
Et tilfælde af en begivenhedsstyret situation ville ligne en vågentimer, der er indstillet til at udføre en bestemt opgave på et bestemt tidspunkt, f.eks. Ringning og kommunikation af noget, der siger: "Vågn op!"
Grafisk brugerflade
Denne planlægningsmetode er begivenhedscentrisk. Dets mest almindelige applikationsområder inkluderer oprettelse af den grafiske brugergrænseflade (GUI), serverapplikationer og udvikling af multiplayer-spil.
Mens konventionelle programmer etablerer strømmen af begivenheder og har kontrol over brugerindstillingerne, tjente denne mere innovative programmering til at skabe GUI.
GUI ændrede interaktion mellem mennesker og computere ved at tilbyde brugerne flere indstillinger i form af rullemenuer, vinduer, knapper og afkrydsningsfelter.
I stedet for at følge den forudbestemte rækkefølge af handlinger, der er indstillet af computeren, kan brugerne selv vælge en af de mange tilgængelige kommandoer.
Ud over at denne programmering er vidt anvendt i grafiske brugergrænseflader, gælder den også for applikationer, der udfører visse handlinger som svar på brugerinput, såsom JavaScript-webapplikationer.
Referencer
- Raspal Chima (2018). Begivenhedsdrevne applikationer i softwareudvikling. Blueberry Consultants. Taget fra: bbconsult.co.uk.
- Kvorum (2020). Bygning af apps - lektion 1: Introduktion til begivenhedsstyret programmering. Taget fra: quorumlanguage.com.
- Margaret Rouse (2012). Begivenhedsdrevet applikation. TechTarget. Taget fra: searchitoperations.techtarget.com.
- UK Essays (2018). Begivenhedsdrevet programmeringsfunktioner. Taget fra: ukessays.com.
- Souvik Banerjee (2019). Begivenhedsstyret programmering: Hvorfor er det nu trend? RS Websols. Taget fra: rswebsols.com.
- Techopedia (2018). Begivenhedsdrevet program. Taget fra: ceilingpedia.com.
- Technology UK (2020). Begivenhedsstyret programmering. Taget fra: technologyuk.net.