- Funksjoner ved begivenhetsorientert programmering
- Hendelsesavhengighet
- Tjenesteorientert
- arrangementer
- Controller
- Utløserfunksjoner
- Tidskontrollert
- Eksempler på hendelsesstyrt programmering
- Arbeidstillatelse
- Initiering av handlinger
- Fordel
- Raskere behandling
- interaktivitet
- Mindre koding av beslutninger
- fleksibilitet
- Gyldige billetter
- Enkelt vedlikehold
- ulemper
- Kompleks kontrollstrøm
- Det erstatter ikke strukturert programmering
- fleksibilitet
- applikasjoner
- Grafisk brukergrensesnitt
- referanser
Den hendelsesstyrte programmeringen refererer til en modell for dataprogrammering, der hendelsene som skjer for å bestemme kontrollstrømmen til et program blir brukt.
Det er ikke en type teknologi eller programmeringsspråk, men snarere en tilnærming som implementeres i produktutviklingsstadiet. I utgangspunktet skiller den hendelsesbehandlingslogikken fra resten av koden i et program.
Denne typen programmering er designet for å oppdage hendelser når de skjer, ved å bruke en passende prosedyre for håndtering av hendelser for å håndtere dem, vanligvis ved å kalle en funksjon eller metode.
Teoretisk sett er stilen til denne programmeringen kompatibel med alle programmeringsspråk, selv om den kan være forskjellig i måten den implementeres på.
Generelt er det i en hendelsesdrevet applikasjon en hovedsløyfe som "lytter" etter nye innkommende hendelser, som utløser et funksjonsanrop når de blir oppdaget. Derfor fokuserer driften på hendelser, bestemmer hva som skal utføres og i hvilken rekkefølge.
Funksjoner ved begivenhetsorientert programmering
Kilde: pixabay.com
Hendelsesavhengighet
Flyten av programmet gis av hendelser som kan være brukerhandlinger, meldinger fra andre programmer, etc., som skiller behandlingslogikken for hendelsene fra resten av koden til et program, og dermed kontrasterer til batchbehandling.
Begivenhetene i seg selv kan variere fra å akseptere eller avvise en låneforespørsel, kalt en høyt nivå hendelse, til en bruker som trykker på en tast, som er en hendelse på lavt nivå.
Tjenesteorientert
Den brukes til å skrive programmer designet for service uten å bremse datamaskinen, siden serviceorientering bare bruker lite prosessorkraft. Tjenestene kjører vanligvis i bakgrunnen av operativsystemet.
arrangementer
Det er en tilstand som oppstår under utførelsen av et program, og som krever litt handling fra systemets side. Hver hendelse har forskjellig art, noen krever at programmet henter og viser viss informasjon, og andre krever noen beregninger og tilstandsendringer for å bli igangsatt.
Hendelser inkluderer mus, tastatur, et brukergrensesnitt og handlinger som bør utløses i programmet når de oppstår. Dette betyr at brukeren må samhandle med et objekt i programmet, for eksempel å klikke på en museknapp, bruke tastaturet til å velge en knapp, etc.
Controller
Det er en viss enhet i programmet som aktiveres for å reagere på en hendelse. Det vil si at det er en type funksjon eller metode som utfører en spesifikk handling når en viss hendelse utløses.
For eksempel kan det være en knapp som når en bruker klikker på den viser en melding og når de klikker på den knappen igjen lukker meldingen.
Utløserfunksjoner
Det er funksjoner som bestemmer hvilken kode som skal utføres når en spesifikk hendelse inntreffer. De brukes til å velge hvilken hendelseshåndterer som skal brukes når en hendelse inntreffer.
Tidskontrollert
Det er en spesifikk kode som kjøres på et bestemt tidspunkt. Dette betyr at det er en forhåndsinnstilt oppgave å gjøre.
Windows-oppdatering er et eksempel på kontrollert tid, der brukeren kan stille inn når han skal oppdatere eller når han skal sjekke og laste ned oppdateringen.
Eksempler på hendelsesstyrt programmering
Arrangementsorienterte programmer har blitt veldig vanlige. Blant de mest fremtredende eksemplene er tekstbehandling, tegneverktøy, regneark, etc.
De fleste moderne meldingssystemer følger også det begivenhetsstyrte mønsteret, mens store nettsteder bruker skalerbare og hendelsesstyrte arkitekturer av en distribuert art. Andre eksempler er:
- Det ble trykket på en tast (tekstredigerer).
- En ny oppgavekalender er klar til å distribueres til alle ansatte (styringssystem).
- En HTML-melding (webserver) er mottatt.
- Det er oppdaget et ulovlig handelsmønster (gjenkjenning av svindel).
- En bil i et dataspill kolliderer med en annen bil (racingspill).
- En robot har nådd målet sitt (lagerstyring i sanntid).
Arbeidstillatelse
Et praktisk eksempel på en hendelse brukt i hendelsesstyrt programmering kan være en ansatt som søker om arbeidstillatelse på et system. Når denne ansatte sender ut forespørselen sin, vil han aktivere et varsel som vil bli sendt til lederen for godkjenning.
Lederen kunne se detaljene i forespørselen, godkjenne eller avvise den, oppdatere den i systemet uten å måtte starte flere økter.
Initiering av handlinger
Handlingene til et program som følger det grunnleggende i hendelsesorientert programmering, initieres av hendelser:
- Maskinvaren.
- Planlagt.
- Av utførelsestid.
- Fra operativsystemet.
- Aktiveres av brukerinstruksjoner gitt gjennom interaksjon med programmets GUI.
I sin enkleste modus må programmerere svare på spørsmålet: "Hva skal skje når en viss hendelse oppstår?"
Følgende pseudokodetrutine viser hvordan en veldig enkel planlegger kan fungere. Den består av en hovedsløyfe som går kontinuerlig til det oppstår en eller annen termineringstilstand.
Når en hendelse inntreffer, må planleggeren bestemme hendelsestypen og velge en passende hendelseshåndterer, eller håndtere hendelsen hvis en passende hendelseshåndterer ikke eksisterer.
Fordel
Raskere behandling
På grunn av utbredelse av data mellom flere prosessorer og hendelsesbehandlere.
interaktivitet
Dette er den viktigste fordelen med hendelsesorientert programmering, noe som forbedrer brukeropplevelsen. Dagens brukere ønsker å delta aktivt og ikke forbli passive forbrukere.
Derfor hjelper hendelsesbaserte programmer brukere med å navigere i sin egen opplevelse og utforske en rekke alternativer, uten forhåndsinnstilte begrensninger.
Mindre koding av beslutninger
Denne tilnærmingen til programmering har mange fordeler for alle interessenter, ettersom færre beslutninger er nødvendige for å kode enn tradisjonelle applikasjoner.
Mange hendelser bestemmes av brukerhandlinger, i stedet for å ha avansert koding for alle mulige scenarier. Mens tradisjonelle applikasjoner fungerer, reagerer hendelsesstyrte applikasjoner.
fleksibilitet
Det passer perfekt med nylige trender innen programvareteknikk som cloud computing, mikroservices, og behovet for bedre skalerbarhet med fleksible og distribuerte systemer.
Gyldige billetter
Eliminerer muligheten for oppføringer med ugyldige verdier. Et tradisjonelt program stiller et spørsmål og lar brukeren skrive et svar. Hendelsesdrevne applikasjoner tilbyr vanligvis et sett med alternativer, enten som knapper eller som rullegardinmenyer.
Enkelt vedlikehold
Behovet for å korrigere og justere eksisterende kode når du legger til eller fjerner moduler elimineres. Systemet fortsetter å fungere jevnt uavhengig av en slik justering.
Derfor er denne programmeringen egnet for applikasjoner med kontrollstrømmer basert på et sett av interne og eksterne hendelser, snarere enn basert på en struktur.
ulemper
Kompleks kontrollstrøm
Denne tilnærmingen til programmering er ikke det beste alternativet for små og enkle applikasjoner, fordi innsatsen som må gjøres ikke viser seg å være fornuftig.
Å utvikle en hendelsesstyrt applikasjon øker kompleksiteten i systemdesign og levering. Dette er fordi tradisjonelle programvarearkitekturer er basert på forespørselsbaserte interaksjoner, snarere enn begivenhetsstyrte interaksjoner.
Videre er det også nødvendig med mye forberedelser på grunn av behovet for kontinuerlig dynamiske hendelsesløkker.
Det erstatter ikke strukturert programmering
Det skal bemerkes at hendelsesorientert programmering ikke erstatter tradisjonell strukturert programmering, men bare utfyller den.
Tradisjonelle programmeringsmetodologier forblir essensielle for å skrive det overordnede programmet, mens hendelsesdrevne kodingselementer bare tjener til å utforme GUI.
fleksibilitet
Fleksibiliteten i hendelsesorientert planlegging, som er dens ubestridte fordel, blir også til svindel i visse scenarier. En av disse manifestasjonene er uforutsigbarheten til et hendelsesorientert program i tilfelle det har endringer og svakere kontroll over det samlede systemet.
Selv om kodere liker å bruke hendelsesstyrt programmering for å gjøre friksjonsløse justeringer, for eksempel å fjerne eller legge til noen funksjonelle moduler, kan disse justeringene føre til uventede endringer i funksjonalitet.
Ved konvensjonell programmering oppdager systemet veldig raskt disse operasjonelle avvikene, og gir en rapport til programmereren om deres årsaker. I det hendelsesstyrte programmeringsmiljøet er deteksjon av slike feil mindre raskt og enkelt.
applikasjoner
Siden hendelsesstyrt programmering viser seg å være mer av en tilnærming enn en type språk, kan hendelsesbaserte applikasjoner opprettes på hvilket som helst programmeringsspråk.
Begivenhetsstyrt programmering transformerer verdenen for programvareutviklingstjenester og blir en integrert del av dagens utvikling. Dens diffusjon ble stimulert av Windows og diffusjon av visuelle miljøer.
Et tilfelle av en hendelsesstyrt situasjon vil ligne en oppvåkningstimer som er satt til å utføre en spesifikk oppgave på et spesifikt tidspunkt, for eksempel å ringe og kommunisere noe som sier: "Våkn opp!"
Grafisk brukergrensesnitt
Denne planleggingsmetoden er begivenhetssentrisk. De vanligste applikasjonsområdene inkluderer å lage det grafiske brukergrensesnittet (GUI), serverapplikasjoner og utvikling av flerspillerspill.
Mens konvensjonelle programmer etablerer strømmen av hendelser og har kontroll over brukeralternativer, tjente denne mer innovative programmeringen til å lage GUI.
GUI endret interaksjon mellom mennesker og datamaskiner ved å tilby brukere flere alternativer i form av rullegardinmenyer, vinduer, knapper og avmerkingsbokser.
I stedet for å følge den forhåndsbestemte rekkefølgen av handlinger som er angitt av datamaskinen, kan brukere derfor velge en av de mange tilgjengelige kommandoene på egen hånd.
I tillegg til at denne programmeringen blir mye brukt i grafiske brukergrensesnitt, blir den også mye brukt i applikasjoner som utfører visse handlinger som svar på brukerinput, for eksempel JavaScript-webapplikasjoner.
referanser
- Raspal Chima (2018). Begivenhetsdrevne applikasjoner i programvareutvikling. Blueberry Consultants. Hentet fra: bbconsult.co.uk.
- Kvorum (2020). Bygge apper - Leksjon 1: Introduksjon til programmering med begivenhetsdrevet. Hentet fra: quorumlanguage.com.
- Margaret Rouse (2012). Begivenhetsstyrt søknad. Techtarget. Hentet fra: searchitoperations.techtarget.com.
- UK Essays (2018). Begivenhetsstyrte programmeringsfunksjoner. Hentet fra: ukessays.com.
- Souvik Banerjee (2019). Begivenhetsstyrt programmering: Hvorfor er det en tendens nå? RS Websols. Hentet fra: rswebsols.com.
- Techopedia (2018). Arrangementsdrevet program. Hentet fra: ceilingpedia.com.
- Technology UK (2020). Arrangementsstyrt programmering. Hentet fra: technologyuk.net.