- Značilnosti programiranja na dogodke
- Odvisnost od dogodkov
- Storitveno naravnana
- Dogodki
- Krmilnik
- Sprožilne funkcije
- Časovno nadzorovan
- Primeri programiranja na podlagi dogodkov
- Delovno dovoljenje
- Začetek ukrepov
- Prednost
- Hitrejša obdelava
- Interaktivnost
- Manj kodiranja odločb
- Prilagodljivost
- Veljavne vozovnice
- Enostavno vzdrževanje
- Slabosti
- Kompleksni regulacijski pretok
- Ne nadomešča strukturiranega programiranja
- Prilagodljivost
- Prijave
- Grafični uporabniški vmesnik
- Reference
Programiranje, ki temelji na dogodkih, se nanaša na model računalniškega programiranja, kjer se uporabljajo dogodki, ki določajo krmilni tok programa.
Ne gre za vrsto tehnologije ali programskega jezika, temveč za pristop, ki se izvaja v fazi razvoja izdelka. V bistvu loči logiko obdelave dogodkov od preostale kode v programu.

Ta vrsta programiranja je zasnovana tako, da odkrije dogodke v času, ko se zgodijo, z ustreznim postopkom ravnanja z dogodki, da se ukvarja z njimi, običajno s klicanjem funkcije ali metode.
Teoretično je slog tega programiranja združljiv z vsemi programskimi jeziki, čeprav se lahko razlikuje v načinu izvajanja.
Na splošno v aplikaciji, ki temelji na dogodkih, obstaja glavna zanka, ki "posluša" nove dohodne dogodke in sproži klic funkcije, ko jih zaznamo. Zato se njegovo delovanje osredotoča na dogodke, na odločitev, kaj izvesti in v kakšnem vrstnem redu.
Značilnosti programiranja na dogodke

Vir: pixabay.com
Odvisnost od dogodkov
Tok programa podajajo dogodki, ki so lahko uporabniška dejanja, sporočila drugih programov itd., Ki ločujejo logiko obdelave dogodkov od preostale kode programa, kar je v nasprotju s paketno obdelavo.
Sami dogodki lahko segajo od sprejema ali zavrnitve zahteve za posojilo, imenovane dogodek na visoki ravni, do uporabnika, ki pritisne tipko, ki je dogodek na nizki ravni.
Storitveno naravnana
Uporablja se za pisanje programov, namenjenih servisu, ne da bi upočasnili računalnik, saj usmerjenost v storitve porabi le malo procesne moči. Tudi storitve običajno delujejo v ozadju operacijskega sistema.
Dogodki
To je pogoj, ki se pojavi med izvajanjem programa in zahteva nekaj ukrepanja s strani sistema. Vsak dogodek je drugačne narave, nekateri zahtevajo, da program pridobi in prikaže določene informacije, drugi pa zahteva nekaj izračunov in sprememb stanja.
Dogodki vključujejo miško, tipkovnico, uporabniški vmesnik in dejanja, ki jih je treba sprožiti v programu, ko se pojavijo. To pomeni, da mora uporabnik komunicirati s predmetom v programu, na primer s klikom gumba na miško, s tipkovnico za izbiro gumba itd.
Krmilnik
To je določena enota programa, ki se aktivira za odzivanje na dogodek. Se pravi, da gre za vrsto funkcije ali metode, ki izvede določeno dejanje, ko se sproži določen dogodek.
Lahko je na primer gumb, ko uporabnik, ko klikne nanj, prikaže sporočilo in ko klikne ta gumb, sporočilo spet zapre.
Sprožilne funkcije
To so funkcije, ki odločajo, katero kodo izvršiti, ko pride do določenega dogodka. Uporabljajo se za izbiro, kateri obdelovalec dogodkov bo uporabljen, ko se dogodek zgodi.
Časovno nadzorovan
To je posebna koda, ki se izvaja v določenem času. To pomeni, da je treba opraviti prednastavljeno nalogo.
Posodobitev sistema Windows je primer nadzorovanega časa, pri katerem lahko uporabnik nastavi, kdaj naj posodobi ali kdaj posodobitev preveri in prenese.
Primeri programiranja na podlagi dogodkov
Programi, usmerjeni v dogodke, so postali zelo pogosti. Med najvidnejšimi primeri so obdelava besedil, orodja za risanje, preglednice itd.
Večina sodobnih sistemov za sporočanje sledi tudi vzorcu, ki temelji na dogodkih, medtem ko velika spletna mesta uporabljajo razširjene in na dogodke vodene arhitekture porazdeljene narave. Drugi primeri so:
- Pritisnite tipko (urejevalnik besedila).
- Nov koledar nalog je pripravljen za razdelitev vsem osebjem (sistem upravljanja).
- Prejeto sporočilo HTML (spletni strežnik).
- Zaznan je bil nezakonit vzorec trgovine (odkrivanje goljufij).
- Avto v računalniški igri trči z drugim avtomobilom (dirkalna igra).
- Robot je dosegel cilj (upravljanje skladišč v realnem času).
Delovno dovoljenje
Praktičen primer dogodka, ki se uporablja pri programiranju, ki ga vodi dogodek, je lahko zaposleni, ki zaprosi za dovoljenje za delo v sistemu. Ko ta zaposleni izda svojo zahtevo, bo aktiviral obvestilo, ki ga bo poslal upravitelju v odobritev.
Upravitelj si lahko ogleda podrobnosti zahteve, jo odobri ali zavrne in posodobi v sistemu, ne da bi potreboval sprožiti dodatne seje.
Začetek ukrepov
Dejanja programa, ki sledi osnovam programiranja, ki temelji na dogodkih, sprožijo dogodki:
- Strojna oprema.
- Po načrtih.
- Časa izvršitve.
- Iz operacijskega sistema.
- Aktivira se z uporabniškimi navodili, ki jih daje interakcija z GUI programa.
Programerji morajo v svojem najpreprostejšem načinu odgovoriti na vprašanje: "Kaj bi se moralo zgoditi, ko se zgodi določen dogodek?"
Naslednja rutina psevdo kod prikazuje, kako lahko deluje zelo preprost planer. Sestavljen je iz glavne zanke, ki deluje neprekinjeno, dokler ne pride do določenega stanja prenehanja.
Ko se dogodek zgodi, mora razporeditelj določiti vrsto dogodka in izbrati ustreznega upravljalca dogodkov ali obdelati dogodek, če ne obstaja ustrezen upravljavec dogodkov.

Prednost
Hitrejša obdelava
Zaradi širjenja podatkov med več procesorji in obdelovalci dogodkov.
Interaktivnost
To je najpomembnejša prednost dogodkov usmerjenega programiranja, ki izboljšuje uporabniško izkušnjo. Današnji uporabniki želijo aktivno sodelovati in ne ostati pasivni potrošniki.
Zato programi, ki temeljijo na dogodkih, pomagajo uporabnikom pri iskanju lastnih izkušenj in raziskovanju različnih možnosti, brez vnaprej določenih omejitev.
Manj kodiranja odločb
Ta pristop k programiranju ima veliko koristi za vse zainteresirane strani, saj je za kodiranje potrebno manj odločitev kot tradicionalne aplikacije.
Veliko dogodkov je določeno z dejanji uporabnika, namesto da bi imeli napredno kodiranje za vse možne scenarije. Medtem ko tradicionalne aplikacije delujejo, aplikacije, ki temeljijo na dogodkih, reagirajo.
Prilagodljivost
Popolnoma ustreza najnovejšim trendom programskega inženiringa, kot so računalništvo v oblaku, mikroservis in potreba po boljši razširljivosti s fleksibilnimi in porazdeljenimi sistemi.
Veljavne vozovnice
Odpravlja možnost vnosov z neveljavnimi vrednostmi. Tradicionalna aplikacija postavlja vprašanje in uporabniku omogoča, da vnese odgovor. Aplikacije, ki temeljijo na dogodkih, ponavadi ponujajo nabor možnosti, bodisi kot gumbe ali kot spustne menije.
Enostavno vzdrževanje
Potreba po popravku in prilagoditvi obstoječe kode pri dodajanju ali odstranjevanju modulov je odpravljena. Sistem še naprej nemoteno deluje ne glede na kakršno koli prilagoditev.
Zato je to programiranje primerno za aplikacije s krmilnimi pretoki, ki temeljijo na naboru notranjih in zunanjih dogodkov, ne pa na strukturi.
Slabosti
Kompleksni regulacijski pretok
Ta pristop k programiranju ni najboljša možnost za majhne in preproste aplikacije, saj se trud, ki ga je treba vložiti, ne izkaže za smiselnega.
Razvoj aplikacije, ki temelji na dogodkih, povečuje zapletenost zasnove in dobave sistema. To je zato, ker tradicionalne programske arhitekture temeljijo na zahtevah, ne pa na dogodkih.
Poleg tega je potrebna velika priprava tudi zaradi potrebe po nenehno dinamičnih zankah.
Ne nadomešča strukturiranega programiranja
Treba je opozoriti, da programiranje, usmerjeno v dogodke, ne nadomesti tradicionalnega strukturiranega programiranja, temveč ga le dopolnjuje.
Tradicionalne programske metodologije ostajajo bistvene za pisanje celotnega programa, medtem ko elementi kodiranja, ki temeljijo na dogodkih, služijo le kot pomoč pri oblikovanju GUI-ja.
Prilagodljivost
Prilagodljivost časovnega načrtovanja dogodkov, kar je njegova nesporna prednost, se tudi v določenih scenarijih spremeni v goljufijo. Ena od teh manifestacij je nepredvidljivost dogodkov usmerjenega programa, če ima spremembe in šibkejši nadzor nad celotnim sistemom.
Čeprav kodirniki radi uporabljajo programiranje na podlagi dogodkov, da bi lahko prilagodili trenje, na primer odstranjevanje ali dodajanje nekaterih funkcionalnih modulov, lahko te prilagoditve privedejo do nepričakovanih motenj v funkcionalnosti.
Pri običajnem programiranju sistem zelo hitro odkrije te nepravilnosti delovanja in programerju poroča o njihovih vzrokih. V programskem okolju, ki temelji na dogodkih, je odkrivanje takšnih napak manj hitro in enostavno.
Prijave
Ker se programiranje na podlagi dogodkov izkaže za bolj pristop kot za vrsto jezika, je mogoče ustvariti programe, ki temeljijo na dogodkih, v katerem koli programskem jeziku.
Dogodkovno programiranje spreminja svet storitev razvoja programske opreme in postaja sestavni del današnjega razvoja. Njegovo razširjanje je spodbudilo Windows in razširjanje vizualnih okolij.
Primer dogodkov, ki so posledica dogodkov, bi bil podoben budilniku, ki je določen čas v določenem času, na primer zvonjenje in sporočanje nečesa, ki pravi: "Zbudi se!"
Grafični uporabniški vmesnik
Ta pristop k razporejanju je osredotočen na dogodke. Njena najpogostejša področja uporabe vključujejo ustvarjanje grafičnega uporabniškega vmesnika (GUI), strežniških aplikacij in razvoj večih igralnih iger.
Medtem ko običajni programi vzpostavljajo tok dogodkov in imajo nadzor nad uporabniškimi možnostmi, je to bolj inovativno programiranje služilo ustvarjanju GUI-ja.
GUI je spremenil interakcijo med človekom in računalnikom, tako da je uporabnikom ponudil več možnosti v obliki spustnih menijev, oken, gumbov in potrditvenih polj.
Zato lahko uporabniki namesto po vnaprej določenem vrstnem redu dejanj, ki jih je računalnik nastavil računalnik, sami izberejo enega od številnih ukazov, ki so na voljo.
Poleg tega, da se to programiranje široko uporablja v grafičnih uporabniških vmesnikih, se široko uporablja tudi v aplikacijah, ki izvajajo določena dejanja kot odgovor na vnos uporabnikov, kot so spletne aplikacije JavaScript.
Reference
- Raspal Chima (2018). Aplikacije, ki jih vodijo dogodki v razvoju programske opreme. Blueberry Consultants. Vzeto iz: bbconsult.co.uk.
- Kvorum (2020). Gradnja aplikacij - Lekcija 1: Uvod v programiranje, ki ga vodijo dogodki. Vzeto iz: quorumlanguage.com.
- Margaret Rouse (2012). Program, ki temelji na dogodkih. Techtarget. Vzeto iz: searchitoperations.techtarget.com.
- Eseji v Veliki Britaniji (2018). Funkcije programiranja na podlagi dogodkov Vzeto iz: ukessays.com.
- Souvik Banerjee (2019). Programiranje, ki ga vodijo dogodki: Zakaj je to zdaj trend? RS Websols. Vzeto iz: rswebsols.com.
- Tehopedija (2018). Program, ki ga vodijo dogodki. Vzeto iz: zgornja meja.
- Technology UK (2020). Programiranje na dogodkih Izvedeno iz: technologyuk.net.
