- Caracteristici ale programării orientate pe evenimente
- Dependența de eveniment
- Orientat spre servicii
- Evenimente
- Controlor
- Funcții de declanșare
- Timp controlat
- Exemple de programare bazate pe evenimente
- Permis de muncă
- Inițierea acțiunilor
- Avantaj
- Prelucrare mai rapidă
- Interactivitate
- Mai puțin codificarea deciziilor
- Flexibilitate
- Bilete valabile
- Întreținere ușoară
- Dezavantaje
- Fluxul de control complex
- Nu înlocuiește programarea structurată
- Flexibilitate
- Aplicații
- Interfață grafică de utilizator
- Referințe
Eveniment - Programarea condus se referă la un model de programare pe calculator, în cazul în care sunt folosite evenimentele care se întâmplă pentru a determina fluxul de control al unui program.
Nu este un tip de tehnologie sau limbaj de programare, ci mai degrabă o abordare care este implementată în timpul dezvoltării produsului. Practic, separă logica procesării evenimentelor de restul codului într-un program.
Acest tip de programare este conceput pentru a descoperi evenimente așa cum se întâmplă, folosind o procedură adecvată de gestionare a evenimentelor pentru a le trata, de obicei apelând la o funcție sau o metodă.
Teoretic, stilul acestei programări este compatibil cu toate limbajele de programare, deși poate fi diferit în modul de implementare.
În general, într-o aplicație bazată pe eveniment, există o buclă principală care „ascultă” noile evenimente primite, declanșând un apel funcțional atunci când sunt detectate. Prin urmare, operațiunea sa se concentrează pe evenimente, decizând ce să execute și în ce ordine.
Caracteristici ale programării orientate pe evenimente
Sursa: pixabay.com
Dependența de eveniment
Fluxul programului este dat de evenimente care pot fi acțiuni ale utilizatorilor, mesaje din alte programe etc., care separă logica de procesare a evenimentelor de restul codului unui program, contrastând astfel cu procesarea lotului.
Evenimentele în sine pot varia de la acceptarea sau respingerea unei cereri de împrumut, numită eveniment la nivel înalt, la un utilizator care apasă o tastă, care este un eveniment de nivel scăzut.
Orientat spre servicii
Este folosit pentru a scrie programe concepute pentru service fără a încetini calculatorul, deoarece orientarea serviciului consumă doar puțină putere de procesare. De asemenea, serviciile rulează în general pe fundalul sistemului de operare.
Evenimente
Este o condiție care apare în timpul executării unui program și care necesită unele acțiuni din partea sistemului. Fiecare eveniment este de natură diferită, unii necesită regăsirea și afișarea anumitor informații, iar alții necesită inițierea unor calcule și modificări de stare.
Evenimentele includ mouse-ul, tastatura, o interfață de utilizator și acțiunile care ar trebui să fie declanșate în program atunci când apar. Aceasta înseamnă că utilizatorul trebuie să interacționeze cu un obiect din program, cum ar fi clic pe un buton de mouse, folosind tastatura pentru a selecta un buton etc.
Controlor
Este o anumită unitate a programului care este activată pentru a reacționa la un eveniment. Adică este un tip de funcție sau metodă care execută o acțiune specifică atunci când este declanșat un anumit eveniment.
De exemplu, ar putea fi un buton care atunci când utilizatorul face clic pe acesta afișează un mesaj și atunci când face clic pe butonul respectiv închide din nou mesajul.
Funcții de declanșare
Sunt funcții care decid ce cod să execute atunci când are loc un eveniment specific. Acestea sunt utilizate pentru a selecta ce gestionar de evenimente să folosească atunci când are loc un eveniment.
Timp controlat
Este un cod specific care rulează la un anumit moment. Aceasta înseamnă că este o sarcină prestabilită de făcut.
Actualizarea Windows este un exemplu de timp controlat, în care utilizatorul poate seta când să actualizeze sau când să verifice și să descarce actualizarea.
Exemple de programare bazate pe evenimente
Programele orientate spre evenimente au devenit foarte frecvente. Printre cele mai proeminente exemple se numără procesarea textelor, instrumente de desen, foi de calcul etc.
Majoritatea sistemelor de mesagerie moderne urmează, de asemenea, modelul bazat pe evenimente, în timp ce site-urile web pe scară largă folosesc arhitecturi scalabile și orientate de evenimente, de natură distribuită. Alte exemple sunt:
- A fost apăsată o tastă (editor de text).
- Un nou calendar de sarcini este gata să fie distribuit întregului personal (sistemul de management).
- A fost primit un mesaj HTML (server web).
- A fost detectat un model de comerț ilegal (detectarea fraudei).
- O mașină dintr-un joc pe calculator se ciocnește cu o altă mașină (joc de curse).
- Un robot a ajuns la destinație (gestionarea depozitului în timp real).
Permis de muncă
Un exemplu practic de eveniment utilizat în programarea bazată pe evenimente ar putea fi un angajat care solicită permis de muncă pe un sistem. Când acest angajat emite cererea sa, el va activa o notificare care va fi trimisă managerului pentru aprobare.
Managerul putea vizualiza detaliile cererii, să o aprobe sau să o respingă, actualizând-o în sistem fără a fi nevoie să inițieze sesiuni suplimentare.
Inițierea acțiunilor
Acțiunile unui program care urmează fundamentele programării orientate spre evenimente sunt inițiate de evenimente:
- Hardware-ul.
- Programat.
- Timp de execuție.
- Din sistemul de operare.
- Activat prin instrucțiuni ale utilizatorului date prin interacțiunea cu GUI-ul programului.
În modul său cel mai simplu, programatorii trebuie să răspundă la întrebarea: „Ce ar trebui să se întâmple când are loc un anumit eveniment?”
Următoarea rutină pseudo-cod arată cum ar putea funcționa un programator foarte simplu. Este format dintr-o buclă principală care se rulează continuu până când apare o anumită condiție de încheiere.
Când are loc un eveniment, programatorul trebuie să determine tipul de eveniment și să selecteze un gestionar de eveniment adecvat sau să gestioneze evenimentul dacă nu există un gestionar de evenimente adecvat.
Avantaj
Prelucrare mai rapidă
Datorită propagării datelor între mai multe procesoare și gestionatoare de evenimente.
Interactivitate
Acesta este cel mai important avantaj al programării orientate spre evenimente, îmbunătățind experiența utilizatorului. Utilizatorii de astăzi vor să participe activ și să nu rămână consumatori pasivi.
Prin urmare, programele bazate pe evenimente ajută utilizatorii să navigheze pe propria experiență și să exploreze o varietate de opțiuni, fără restricții prestabilite.
Mai puțin codificarea deciziilor
Această abordare a programării are multe beneficii pentru toate părțile interesate, deoarece sunt necesare mai puține decizii de codare decât aplicațiile tradiționale.
Multe evenimente sunt determinate de acțiunile utilizatorului, mai degrabă decât de o codificare avansată pentru toate scenariile posibile. În timp ce aplicațiile tradiționale acționează, aplicațiile bazate pe evenimente reacționează.
Flexibilitate
Se potrivește perfect cu tendințele recente în domeniul ingineriei software, cum ar fi cloud computing, microservicii și nevoia unei scalabilități mai bune cu sisteme flexibile și distribuite.
Bilete valabile
Elimina posibilitatea înscrierilor cu valori nevalide. O aplicație tradițională pune o întrebare și permite utilizatorului să tasteze un răspuns. Aplicațiile bazate pe evenimente oferă de obicei un set de opțiuni, fie ca butoane, fie ca meniuri derulante.
Întreținere ușoară
Este eliminată necesitatea corectării și ajustării codului existent la adăugarea sau eliminarea modulelor. Sistemul continuă să funcționeze lin, indiferent de o astfel de ajustare.
Prin urmare, această programare este potrivită pentru aplicații cu fluxuri de control bazate pe un set de evenimente interne și externe, mai degrabă decât pe o structură.
Dezavantaje
Fluxul de control complex
Această abordare a programării nu este cea mai bună opțiune pentru aplicații mici și simple, deoarece eforturile care trebuie depuse nu se dovedesc a fi sensibile.
Dezvoltarea unei aplicații bazate pe evenimente crește complexitatea proiectării și livrării sistemului. Acest lucru se datorează faptului că arhitecturile software tradiționale se bazează pe interacțiuni bazate pe cerere, mai degrabă decât pe interacțiuni bazate pe evenimente.
În plus, o mare cantitate de pregătire este necesară, de asemenea, din cauza necesității de bucle de evenimente neîncetat dinamice.
Nu înlocuiește programarea structurată
Trebuie menționat că programarea orientată spre evenimente nu înlocuiește programarea tradițională structurată, ci doar o completează.
Metodologiile tradiționale de programare rămân esențiale pentru redactarea programului general, în timp ce elementele de codare bazate pe evenimente servesc doar pentru a ajuta la proiectarea GUI.
Flexibilitate
Flexibilitatea programării orientate spre evenimente, care este avantajul său incontestabil, se transformă, de asemenea, într-o fraudă în anumite scenarii. Una dintre aceste manifestări este imprevizibilitatea unui program orientat pe evenimente în cazul în care acesta are schimbări și un control mai slab asupra sistemului general.
Deși codificatorii le place să utilizeze programarea bazată pe evenimente pentru a realiza ajustări fără frecare, cum ar fi îndepărtarea sau adăugarea unor module funcționale, aceste ajustări pot duce la modificări neașteptate ale funcționalității.
În programarea convențională, sistemul descoperă foarte rapid aceste anomalii operaționale, oferind un raport programatorului despre cauzele acestora. În mediul de programare bazat pe evenimente, detectarea unor astfel de defecțiuni este mai puțin rapidă și ușoară.
Aplicații
Deoarece programarea bazată pe evenimente se dovedește a fi mai mult o abordare decât un tip de limbaj, aplicațiile bazate pe evenimente pot fi create în orice limbaj de programare.
Programarea bazată pe evenimente transformă lumea serviciilor de dezvoltare software și devine o parte integrantă a dezvoltării actuale. Difuziunea sa a fost stimulată de Windows și de difuzarea mediilor vizuale.
Un caz al unei situații bazate pe evenimente seamănă cu un cronometru de trezire setat pentru a face o sarcină specifică la un anumit moment, cum ar fi sunetul și comunicarea a ceva care spune: „Trezește-te!”.
Interfață grafică de utilizator
Această abordare a programării este centrată pe evenimente. Cele mai comune zone de aplicații includ crearea interfeței grafice de utilizator (GUI), aplicații server și dezvoltarea jocurilor multiplayer.
În timp ce programele convenționale stabilesc fluxul de evenimente și au control asupra opțiunilor utilizatorului, această programare mai inovatoare a servit la crearea GUI.
GUI a schimbat interacțiunea om-computer oferind utilizatorilor multiple opțiuni sub formă de meniuri derulante, ferestre, butoane și casete de selectare.
Prin urmare, în loc să urmeze ordinea prestabilită a acțiunilor stabilite de computer, utilizatorii pot alege una dintre numeroasele comenzi disponibile pe cont propriu.
Pe lângă faptul că această programare este aplicată pe scară largă în interfețele grafice ale utilizatorilor, ea este aplicată pe scară largă și în aplicațiile care efectuează anumite acțiuni ca răspuns la intrarea utilizatorului, cum ar fi aplicațiile web JavaScript.
Referințe
- Raspal Chima (2018). Aplicații conduse de evenimente în dezvoltarea de software. Consultanți afine. Luat de la: bbconsult.co.uk.
- Cvorum (2020). Construire de aplicații - Lecția 1: Introducere în programarea bazată pe evenimente. Luat de la: quorumlanguage.com.
- Margaret Rouse (2012). Aplicație bazată pe evenimente. TechTarget. Luat de la: searchitoperations.techtarget.com.
- Eseuri din Marea Britanie (2018). Caracteristici de programare conduse de evenimente. Luat de la: ukessays.com.
- Souvik Banerjee (2019). Programare condusă de evenimente: De ce este acum în tendință? Websols RS. Preluat de la: rswebsols.com.
- Techopedia (2018). Programul condus de evenimente. Preluat de la: plafonpedia.com.
- Tehnologie Marea Britanie (2020). Programare bazată pe evenimente. Luat de la: technologyuk.net.