- Funktioner i händelseorienterad programmering
- Händelsberoende
- Serviceinriktad
- evenemang
- Kontroller
- Triggerfunktioner
- Tidsstyrd
- Exempel på händelsestyrd programmering
- Arbetstillstånd
- Initiering av åtgärder
- Fördel
- Snabbare bearbetning
- Interaktivitet
- Mindre kodning av beslut
- Flexibilitet
- Giltiga biljetter
- Enkelt underhåll
- nackdelar
- Komplex kontrollflöde
- Det ersätter inte strukturerad programmering
- Flexibilitet
- tillämpningar
- Grafiskt användargränssnitt
- referenser
Den händelsestyrda programmeringen avser en modell för datorprogrammering, där de händelser som händer för att bestämma programmets styrflöde används.
Det är inte en typ av teknik eller programmeringsspråk, utan snarare en strategi som implementeras under produktutvecklingsstadiet. I grunden skiljer det händelsebehandlingslogiken från resten av koden i ett program.
Denna typ av programmering är utformad för att upptäcka händelser när de händer, med hjälp av en lämplig procedur för hantering av händelser för att hantera dem, vanligtvis genom att anropa en funktion eller metod.
Teoretiskt sett är stilen för denna programmering kompatibel med alla programmeringsspråk, även om det kan vara annorlunda i hur det implementeras.
I en händelsedriven applikation finns i allmänhet en huvudslinga som "lyssnar" på nya inkommande händelser, som utlöser ett funktionssamtal när de upptäcks. Därför fokuserar verksamheten på händelser, beslutar vad som ska genomföras och i vilken ordning.
Funktioner i händelseorienterad programmering
Källa: pixabay.com
Händelsberoende
Programmets flöde ges av händelser som kan vara användaråtgärder, meddelanden från andra program etc., som separerar bearbetningslogiken för händelserna från resten av programkoden och därmed kontrasterar till batchbehandling.
Händelserna kan variera från att acceptera eller avvisa en lånebegäran, kallad en händelse på hög nivå, till en användare som trycker på en tangent, vilket är en händelse på låg nivå.
Serviceinriktad
Det används för att skriva program som är utformade för service utan att bromsa ner datorn, eftersom serviceorientering bara förbrukar lite processorkraft. Tjänsterna körs i allmänhet i operativsystemets bakgrund.
evenemang
Det är ett villkor som uppstår under körningen av ett program och som kräver vissa åtgärder från systemets sida. Varje händelse har olika karaktär, vissa kräver att programmet hämtar och visar viss information, och andra kräver vissa beräkningar och tillståndsändringar för att initieras.
Händelserna inkluderar musen, tangentbordet, ett användargränssnitt och åtgärder som bör utlösas i programmet när de inträffar. Detta innebär att användaren måste interagera med ett objekt i programmet, till exempel att klicka på en musknapp, använda tangentbordet för att välja en knapp, etc.
Kontroller
Det är en viss enhet i programmet som aktiveras för att reagera på en händelse. Det vill säga det är en typ av funktion eller metod som utför en specifik åtgärd när en viss händelse utlöses.
Till exempel kan det vara en knapp som när användaren klickar på det visar ett meddelande och när de klickar på den knappen stänger meddelandet igen.
Triggerfunktioner
Det är funktioner som bestämmer vilken kod som ska köras när en specifik händelse inträffar. De används för att välja vilken händelseshanterare som ska användas när en händelse inträffar.
Tidsstyrd
Det är en specifik kod som körs vid en viss tidpunkt. Detta betyder att det är en förinställd uppgift att göra.
Windows-uppdatering är ett exempel på kontrollerad tid, där användaren kan ställa in när den ska uppdateras eller när den ska kontrollera och ladda ner uppdateringen.
Exempel på händelsestyrd programmering
Event-orienterade program har blivit mycket vanliga. Bland de mest framstående exemplen är ordbehandling, ritverktyg, kalkylark etc.
De flesta moderna meddelandesystem följer också det evenemangsdrivna mönstret, medan stora webbplatser använder skalbara och evenemangsdrivna arkitekturer av en distribuerad natur. Andra exempel är:
- Tryck på en knapp (textredigerare).
- En ny uppgiftskalender är redo att distribueras till all personal (ledningssystem).
- Ett HTML-meddelande (webbserver) har tagits emot.
- Ett olagligt handelsmönster har upptäckts (bedrägeri upptäckt).
- En bil i ett datorspel kolliderar med en annan bil (racingspel).
- En robot har nått sin destination (lagerhantering i realtid).
Arbetstillstånd
Ett praktiskt exempel på en händelse som används i händelsestyrd programmering kan vara en anställd som ansöker om ett arbetstillstånd i ett system. När den anställd avger sin begäran aktiverar han ett meddelande som skickas till chefen för godkännande.
Chefen kan se detaljerna i begäran, godkänna eller avvisa den, uppdatera den i systemet utan att behöva initiera ytterligare sessioner.
Initiering av åtgärder
Åtgärderna för ett program som följer grunderna i händelseorienterad programmering initieras av händelser:
- Hårdvaran.
- Schemalagd.
- Utförande.
- Från operativsystemet.
- Aktiveras av användarinstruktioner som ges genom interaktion med programmets GUI.
I sitt enklaste läge måste programmerare svara på frågan: "Vad ska hända när en viss händelse inträffar?"
Följande pseudokodrutin visar hur en mycket enkel schemaläggare kan fungera. Den består av en huvudslinga som körs kontinuerligt tills vissa termineringsvillkor inträffar.
När en händelse inträffar måste schemaläggaren bestämma händelsetypen och välja en lämplig händelsehanterare, eller hantera händelsen om en lämplig händelsehanterare inte finns.
Fördel
Snabbare bearbetning
På grund av spridningen av data mellan flera processorer och händelseshanterare.
Interaktivitet
Detta är den viktigaste fördelen med evenemangsorienterad programmering, vilket förbättrar användarupplevelsen. Dagens användare vill aktivt delta och inte förbli passiva konsumenter.
Därför hjälper händelsebaserade program användare att navigera över sin egen upplevelse och utforska olika alternativ, utan förinställda begränsningar.
Mindre kodning av beslut
Denna strategi för programmering har många fördelar för alla berörda, eftersom färre beslut krävs för att koda än traditionella applikationer.
Många händelser bestäms av användaråtgärder, snarare än med avancerad kodning för alla möjliga scenarier. Medan traditionella applikationer agerar, reagerar händelsestyrda applikationer.
Flexibilitet
Det passar perfekt för senaste programvarutrender som molnberäkning, mikroservices och behovet av bättre skalbarhet med flexibla och distribuerade system.
Giltiga biljetter
Eliminerar möjligheten till poster med ogiltiga värden. En traditionell applikation ställer en fråga och låter användaren skriva ett svar. Händelsedrivna applikationer erbjuder vanligtvis en uppsättning alternativ, antingen som knappar eller som rullgardinsmenyer.
Enkelt underhåll
Behovet av att korrigera och justera befintlig kod när man lägger till eller tar bort moduler elimineras. Systemet fortsätter att fungera smidigt oavsett sådan justering.
Därför är denna programmering lämplig för applikationer med kontrollflöden baserade på en uppsättning interna och externa händelser, snarare än baserad på en struktur.
nackdelar
Komplex kontrollflöde
Denna strategi för programmering är inte det bästa alternativet för små och enkla applikationer, eftersom de ansträngningar som måste göras inte visar sig vara förnuftiga.
Att utveckla en händelsestyrd applikation ökar komplexiteten i systemdesign och leverans. Detta beror på att traditionella mjukvaruarkitekturer är baserade på förfrågningsbaserade interaktioner snarare än händelsestyrda interaktioner.
Vidare krävs också en hel del förberedelser på grund av behovet av oavbrutna dynamiska händelsöglor.
Det ersätter inte strukturerad programmering
Det bör noteras att händelsorienterad programmering inte ersätter traditionell strukturerad programmering utan bara kompletterar den.
Traditionella programmeringsmetoder förblir väsentliga för att skriva det övergripande programmet, medan händelsestyrda kodningselement endast hjälper till att utforma GUI.
Flexibilitet
Flexibiliteten i händelseorienterad schemaläggning, som är dess obestridda fördel, förvandlas också till ett bedrägeri i vissa scenarier. En av dessa manifestationer är oförutsägbarheten för ett händelsorienterat program om det har förändringar och svagare kontroll över det övergripande systemet.
Även om kodare gillar att använda händelsestyrd programmering för att göra friktionslösa justeringar, till exempel att ta bort eller lägga till några funktionella moduler, kan dessa justeringar leda till oväntade funktionsändringar.
Vid konventionell programmering upptäcker systemet mycket snabbt dessa operationella avvikelser och ger en rapport till programmeraren om deras orsaker. I händelsestyrd programmeringsmiljö är detektering av sådana fel mindre snabbt och enkelt.
tillämpningar
Eftersom händelsestyrd programmering visar sig vara mer av ett tillvägagångssätt än en typ av språk, kan händelsebaserade applikationer skapas på vilket som helst programmeringsspråk.
Eventdriven programmering förvandlar världen av mjukvaruutvecklingstjänster och håller på att bli en integrerad del av dagens utveckling. Dess diffusion stimulerades av Windows och spridningen av visuella miljöer.
Ett fall av en händelsestyrd situation skulle likna en väckningstimer som är inställd för att utföra en specifik uppgift vid en viss tidpunkt, som att ringa och kommunicera något som säger "Vakna upp!"
Grafiskt användargränssnitt
Denna schemaläggningsmetod är händelsecentrisk. Dess vanligaste applikationsområden inkluderar att skapa det grafiska användargränssnittet (GUI), serverapplikationer och utveckla multiplayer-spel.
Medan konventionella program etablerar flöde av händelser och har kontroll över användaralternativ, tjänade denna mer innovativa programmering till att skapa GUI.
GUI ändrade samverkan mellan mänskliga och datorer genom att erbjuda användare flera alternativ i form av rullgardinsmenyer, fönster, knappar och kryssrutor.
I stället för att följa den förutbestämda ordningen med åtgärder som ställts in av datorn, kan användare välja ett av de många tillgängliga kommandona på egen hand.
Förutom att denna programmering används i stor utsträckning i grafiska användargränssnitt, används den också ofta i applikationer som utför vissa åtgärder som svar på användarinmatning, till exempel JavaScript-webbapplikationer.
referenser
- Raspal Chima (2018). Händelsedrivna applikationer i mjukvaruutveckling. Blueberry Consultants. Hämtad från: bbconsult.co.uk.
- Kvorum (2020). Bygga appar - lektion 1: Introduktion till händelsedriven programmering. Hämtad från: quorumlanguage.com.
- Margaret Rouse (2012). Händelsestyrd applikation. Techtarget. Hämtad från: searchitoperations.techtarget.com.
- UK Essays (2018). Event-Driven Programmeringsfunktioner. Hämtad från: ukessays.com.
- Souvik Banerjee (2019). Händelsedriven programmering: Varför är det trender nu? RS Websols. Hämtad från: rswebsols.com.
- Techopedia (2018). Event-Driven Program. Hämtad från: ceilingpedia.com.
- Technology UK (2020). Händelsestyrd programmering. Hämtad från: technologyuk.net.