- Značajke programiranja orijentiranog na događaje
- Ovisnost o događajima
- Usluga orijentirana
- Događaji
- kontrolor
- Funkcije okidača
- Vrijeme kontrolirano
- Primjeri programiranja na temelju događaja
- Dozvola za rad
- Pokretanje akcija
- Prednost
- Brža obrada
- interaktivnost
- Manje kodiranja odluka
- savitljivost
- Važeće karte
- Jednostavno održavanje
- Nedostaci
- Složeni upravljački protok
- Ne zamjenjuje strukturirano programiranje
- savitljivost
- Prijave
- Grafičko korisničko sučelje
- Reference
Programiranje usmjereno na događaje odnosi se na model računalnog programiranja, gdje se koriste događaji koji sluče za određivanje kontrolnog toka programa.
To nije vrsta tehnologije ili programskog jezika, već pristup koji se primjenjuje u fazi razvoja proizvoda. U osnovi to razdvaja logiku obrade događaja od ostatka koda u programu.
Ova vrsta programiranja osmišljena je za otkrivanje događaja kakvi se događaju, koristeći odgovarajući postupak rukovanja događajima da se s njima suoči, obično pozivanjem funkcije ili metode.
Teoretski, stil ovog programa kompatibilan je sa svim programskim jezicima, mada se može razlikovati u načinu na koji se provodi.
Općenito, u aplikaciji upravljanoj događajima postoji glavna petlja koja "preslušava" nove dolazne događaje, pokrećući poziv funkcije kad ih se otkriju. Stoga se njegovo djelovanje usredotočuje na događaje, odlučivanje što izvršiti i kojim redoslijedom.
Značajke programiranja orijentiranog na događaje
Izvor: pixabay.com
Ovisnost o događajima
Tok programa dat je događajima koji mogu biti korisničke radnje, poruke drugih programa, itd., Odvajajući logiku obrade događaja od ostatka koda programa, kontrastirajući s skupnom obradom.
Sami događaji mogu varirati od prihvaćanja ili odbijanja zahtjeva za kredit, zvanog događaj na visokoj razini, do korisničkog pritiska na tipku, što je događaj niske razine.
Usluga orijentirana
Koristi se za pisanje programa dizajniranih za uslugu bez usporavanja računala, jer orijentacija servisa troši samo malo procesorske snage. Također, usluge se uglavnom izvode u pozadini operativnog sustava.
Događaji
To je uvjet koji nastaje tijekom izvođenja programa i za koji je potrebna neka radnja sustava. Svaki je događaj različite prirode, neki zahtijevaju da program preuzme i prikaže određene informacije, a drugi zahtijevaju pokretanje određenih proračuna i promjena stanja.
Događaji uključuju miš, tipkovnicu, korisničko sučelje i radnje koje bi trebale biti pokrenute u programu kada se pojave. To znači da korisnik mora komunicirati s objektom u programu, poput klika na tipku miša, pomoću tipkovnice za odabir gumba itd.
kontrolor
To je određena jedinica programa koja se aktivira da reagira na događaj. Odnosno, radi se o vrsti funkcije ili metode koja izvršava određenu radnju kada se pokrene određeni događaj.
Na primjer, to bi mogao biti gumb koji kad korisnik klikne na nju prikazuje poruku, a kada klikne na taj gumb, opet zatvara poruku.
Funkcije okidača
To su funkcije koje odlučuju koji će se kôd izvršiti kada se dogodi određeni događaj. Koriste se za odabir koji će se rukovatelj događanja koristiti kada se događaj dogodi.
Vrijeme kontrolirano
To je specifičan kod koji se pokreće u određeno vrijeme. To znači da je to unaprijed zadani zadatak.
Ažuriranje sustava Windows primjer je kontroliranog vremena u kojem korisnik može postaviti kada treba ažurirati ili kada treba provjeriti i preuzeti ažuriranje.
Primjeri programiranja na temelju događaja
Programi orijentirani na događanja postali su vrlo česti. Među najistaknutijim primjerima su obrada teksta, alati za crtanje, proračunske tablice itd.
Većina modernih sustava za razmjenu poruka također slijedi model temeljen na događajima, dok web stranice velikih razmjera upotrebljavaju skalabilne i event-arhitekture distribuirane prirode. Ostali primjeri su:
- Pritisnuta je tipka (uređivač teksta).
- Novi kalendar zadataka je spreman za distribuciju svim zaposlenicima (sustav upravljanja).
- Primljena je HTML poruka (web poslužitelj).
- Otkriven je ilegalni obrazac trgovanja (otkrivanje prijevara).
- Automobil u računalnoj igri sudara se s drugim automobilom (trkačka igra).
- Robot je stigao do svog odredišta (upravljanje skladištem u stvarnom vremenu).
Dozvola za rad
Praktični primjer događaja koji se koristi u programiranju usmjeren na događaje može biti zaposlenik koji traži dozvolu za rad u sustavu. Kad ovaj zaposlenik izda svoj zahtjev, aktivirat će obavijest koja će biti poslana menadžeru na odobrenje.
Upravitelj može pregledati detalje zahtjeva, odobriti ga ili odbiti, ažurirajući ga u sustavu bez potrebe za pokretanjem dodatnih sesija.
Pokretanje akcija
Radnje programa koji slijede osnove programiranja orijentirane na događaje pokreću događaji:
- Hardver.
- Prema rasporedu.
- Vrijeme izvršenja.
- Iz operativnog sustava.
- Aktivira se korisničkim uputama datim kroz interakciju s GUI programa.
Programeri u svom najjednostavnijem načinu moraju odgovoriti na pitanje: "Što bi se trebalo dogoditi kad se dogodi određeni događaj?"
Sljedeća rutina pseudo-koda pokazuje kako vrlo jednostavan planer može raditi. Sastoji se od glavne petlje koja se pokreće neprekidno dok se ne dogodi neko uvjet prekida.
Kada se događaj dogodi, planer mora odrediti vrstu događaja i odabrati odgovarajući rukovodilac događaja ili rukovati događajem ako ne postoji odgovarajući obradnik događaja.
Prednost
Brža obrada
Zbog širenja podataka između više procesora i obrađivača događaja.
interaktivnost
To je najvažnija prednost programiranja orijentiranog na događaje, poboljšanja korisničkog iskustva. Današnji korisnici žele aktivno sudjelovati i ne ostati pasivni potrošači.
Stoga programi temeljeni na događajima pomažu korisnicima da se snađu u vlastitom iskustvu i istražuju razne mogućnosti, bez unaprijed postavljenih ograničenja.
Manje kodiranja odluka
Ovaj pristup programiranju ima brojne prednosti za sve dionike, jer je potrebno kodirati manje odluka od tradicionalnih aplikacija.
Mnogi su događaji određeni radnjama korisnika, a ne naprednim kodiranjem za sve moguće scenarije. Dok djeluju tradicionalne aplikacije, aplikacije usmjerene na događaje reagiraju.
savitljivost
U potpunosti se uklapa u nedavne trendove u softverskom inženjeringu kao što su računalstvo u oblaku, mikroservisi i potreba za boljom skalabilnošću s fleksibilnim i distribuiranim sustavima.
Važeće karte
Uklanja mogućnost unosa s nevaljanim vrijednostima. Tradicionalna aplikacija postavlja pitanje i omogućuje korisniku da upiše odgovor. Aplikacije usmjerene na događaje obično nude skup opcija, bilo kao gumba ili kao padajućih izbornika.
Jednostavno održavanje
Izbjegava se potreba za ispravljanjem i prilagođavanjem postojećeg koda prilikom dodavanja ili uklanjanja modula. Sustav nastavlja nesmetano raditi bez obzira na bilo kakvo prilagođavanje.
Stoga je ovaj program prikladniji za aplikacije s upravljačkim tokovima na temelju skupa unutarnjih i vanjskih događaja, a ne na osnovi strukture.
Nedostaci
Složeni upravljački protok
Ovakav pristup programiranju nije najbolja opcija za male i jednostavne aplikacije, jer napori koji se moraju uložiti ne pokazuju se razumnim.
Razvoj aplikacije temeljene na događajima povećava složenost dizajna i isporuke sustava. To je zato što se tradicionalne softverske arhitekture temelje na interakcijama na temelju zahtjeva, a ne na događajima.
Nadalje, potrebna je i velika priprema zbog potrebe neprekidno dinamičnih petlji događaja.
Ne zamjenjuje strukturirano programiranje
Treba napomenuti da programiranje usmjereno na događaje ne zamjenjuje tradicionalno strukturirano programiranje, već ga samo nadopunjuje.
Tradicionalne metodologije programiranja i dalje su ključne za pisanje cjelokupnog programa, dok kodirani elementi kod događanja služe samo kao pomoć u dizajniranju GUI-ja.
savitljivost
Fleksibilnost planiranja usmjerenog na događaje, što je njegova nesporna prednost, također se pretvara u prijevaru u određenim scenarijima. Jedna od tih manifestacija je nepredvidivost programa usmjerenog na događaje u slučaju da ima promjene i slabiju kontrolu nad cjelokupnim sustavom.
Iako koderi vole koristiti programiranje usmjereno na događaje kako bi izvršili prilagođavanja bez trenja, poput uklanjanja ili dodavanja nekih funkcionalnih modula, ove prilagodbe mogu dovesti do neočekivanih promjena u funkcionalnosti.
U konvencionalnom programiranju sustav vrlo brzo otkriva ove operativne anomalije, pružajući programeru izvješće o njihovim uzrocima. U programskom okruženju utemeljenom na događajima otkrivanje takvih kvarova manje je brzo i jednostavno.
Prijave
Budući da se programiranje temeljeno na događajima ispada da je više pristup nego vrsta jezika, aplikacije temeljene na događajima mogu se stvoriti u bilo kojem programskom jeziku.
Programiranje usmjereno na događaje preobražava svijet usluga razvoja softvera i postaje sastavni dio današnjeg razvoja. Difuziju je potaknuo Windows i širenje vizualnog okruženja.
Slučaj događaja uvjetovanih događajem nalikovao bi budilniku koji je postavljen za obavljanje određenog zadatka u određeno vrijeme, poput zvonjave i priopćavanja nečega što kaže: "Probudi se!"
Grafičko korisničko sučelje
Ovaj pristup zakazivanja je fokusiran na događaje. Njegova najčešća područja primjene uključuju stvaranje grafičkog korisničkog sučelja (GUI), poslužiteljske aplikacije i razvoj igara za više igrača.
Dok konvencionalni programi uspostavljaju tijek događaja i imaju kontrolu nad korisničkim opcijama, ovo je inovativnije programiranje poslužilo za stvaranje GUI-ja.
GUI je promijenio interakciju između čovjeka i računala nudeći korisnicima više opcija u obliku padajućih izbornika, prozora, gumba i potvrdnih okvira.
Stoga, umjesto da slijede unaprijed određeni redoslijed akcija koje je postavilo računalo, korisnici mogu sami odabrati jednu od mnogih dostupnih naredbi.
Uz to što se ovo programiranje široko primjenjuje u grafičkim korisničkim sučeljima, također se široko primjenjuje na aplikacije koje izvode određene radnje kao odgovor na unos korisnika, kao što su web-aplikacije JavaScript.
Reference
- Raspal Chima (2018). Aplikacije usmjerene na događaje u razvoju softvera. Blueberry Consultants. Preuzeto sa: bbconsult.co.uk.
- Kvorum (2020). Izrada aplikacija - Lekcija 1: Uvod u programiranje na temelju događaja. Preuzeto sa: quorumlanguage.com.
- Margaret Rouse (2012). Aplikacija utemeljena na događajima. Techtarget. Preuzeto sa: searchitoperations.techtarget.com.
- Eseji iz Velike Britanije (2018). Značajke programiranja usmjerene na događaje. Preuzeto sa: ukessays.com.
- Souvik Banerjee (2019.). Programiranje na temelju događaja: Zašto je to sada trend? RS Websols. Preuzeto sa: rswebsols.com.
- Tehopedija (2018). Program vođen događajima. Preuzeto sa: zgornja ploča.hr.
- Tehnologija Ujedinjeno Kraljevstvo (2020). Programiranje usmjereno na događaje. Preuzeto sa: technologyuk.net.