- Funkcie programovania zameraného na udalosti
- Závislosť na udalosti
- Orientácia na služby
- Diania
- kontrolór
- Spúšťacie funkcie
- Časovo riadené
- Príklady programovania riadeného udalosťami
- Pracovné povolenie
- Začatie konania
- výhoda
- Rýchlejšie spracovanie
- interaktivita
- Menej kódovania rozhodnutí
- flexibilita
- Platné lístky
- Ľahká údržba
- nevýhody
- Zložitý riadiaci tok
- Nenahrádza štruktúrované programovanie
- flexibilita
- aplikácia
- Grafické užívateľské rozhranie
- Referencie
Programovanie riadené udalosťami sa vzťahuje na model počítačového programovania, pri ktorom sa používajú udalosti, ktoré sa vyskytnú pri určovaní riadiaceho toku programu.
Nie je to typ technológie alebo programovacieho jazyka, ale skôr prístup, ktorý sa implementuje vo fáze vývoja produktu. V zásade oddeľuje logiku spracovania udalostí od zvyšku kódu v programe.
Tento typ programovania je určený na zisťovanie udalostí, keď k nim dôjde, s použitím vhodného postupu spracovania udalostí, ktorý ich rieši, zvyčajne volaním funkcie alebo metódy.
Teoreticky je štýl tohto programovania kompatibilný so všetkými programovacími jazykmi, hoci sa môže odlišovať v spôsobe, akým sa implementuje.
Všeobecne platí, že v prípade aplikácie riadenej udalosťami existuje hlavná slučka, ktorá „počúva“ nové prichádzajúce udalosti a pri ich zistení vyvolá volanie funkcie. Jej činnosť sa preto zameriava na udalosti, na rozhodovanie o tom, čo vykonať a v akom poradí.
Funkcie programovania zameraného na udalosti
Zdroj: pixabay.com
Závislosť na udalosti
Tok programu je daný udalosťami, ktoré môžu byť užívateľskými činnosťami, správami od iných programov atď., Ktoré oddeľujú logiku udalostí spracovania od zvyšku kódu programu, čo je v kontraste s dávkovým spracovaním.
Samotné udalosti sa môžu pohybovať od prijatia alebo zamietnutia žiadosti o pôžičku, ktorá sa nazýva udalosť vysokej úrovne, až po stlačenie klávesu, čo je udalosť nízkej úrovne.
Orientácia na služby
Používa sa na písanie programov určených na servis bez spomalenia počítača, pretože orientácia na servis spotrebúva iba malý výpočtový výkon. Služby sa zvyčajne spúšťajú na pozadí operačného systému.
Diania
Je to stav, ktorý vzniká počas vykonávania programu a ktorý si vyžaduje nejakú akciu zo strany systému. Každá udalosť je svojou povahou iná, niektoré vyžadujú, aby program získal a zobrazil určité informácie, zatiaľ čo iné vyžadujú vykonanie určitých výpočtov a zmien stavu.
Medzi udalosti patria myš, klávesnica, používateľské rozhranie a akcie, ktoré by sa mali v programe spustiť, keď sa vyskytnú. To znamená, že používateľ musí interagovať s objektom v programe, napríklad kliknúť na tlačidlo myši, pomocou klávesnice vybrať tlačidlo atď.
kontrolór
Je to určitá jednotka programu, ktorá je aktivovaná ako reakcia na udalosť. To znamená, že je to typ funkcie alebo metódy, ktorá vykonáva špecifickú akciu pri spustení určitej udalosti.
Napríklad by to mohlo byť tlačidlo, ktoré keď užívateľ naň klikne, zobrazí správu a keď klikne na toto tlačidlo, správu uzavrie.
Spúšťacie funkcie
Sú to funkcie, ktoré rozhodujú, ktorý kód sa má vykonať, keď sa vyskytne konkrétna udalosť. Používajú sa na výber toho, ktorý obsluha udalosti použije, keď dôjde k udalosti.
Časovo riadené
Je to špecifický kód, ktorý beží v určitom čase. To znamená, že je to prednastavená úloha.
Aktualizácia systému Windows je príkladom kontrolovaného času, v ktorom môže používateľ nastaviť, kedy sa má aktualizovať alebo kedy má skontrolovať a stiahnuť aktualizáciu.
Príklady programovania riadeného udalosťami
Programy zamerané na udalosti sa stali veľmi bežnými. Medzi najvýznamnejšie príklady patria spracovanie textu, nástroje na kreslenie, tabuľky atď.
Väčšina moderných systémov zasielania správ sa riadi aj vzorom riadeným udalosťami, zatiaľ čo rozsiahle webové stránky používajú škálovateľné a udalosťami riadené architektúry distribuovaného charakteru. Ďalšími príkladmi sú:
- Bolo stlačené tlačidlo (textový editor).
- Nový kalendár úloh je pripravený na distribúciu všetkým zamestnancom (systém riadenia).
- Bola prijatá správa HTML (webový server).
- Zistil sa nezákonný obchodný model (zisťovanie podvodov).
- Auto v počítačovej hre sa zrazí s iným autom (závodná hra).
- Robot dosiahol svoje miesto určenia (riadenie skladu v reálnom čase).
Pracovné povolenie
Praktickým príkladom udalosti použitej pri programovaní založenom na udalostiach môže byť zamestnanec, ktorý žiada o pracovné povolenie v systéme. Keď tento zamestnanec vydá svoju žiadosť, aktivuje oznámenie, ktoré bude zaslané manažérovi na schválenie.
Manažér mohol zobraziť podrobnosti žiadosti, schváliť alebo zamietnuť, aktualizovať ju v systéme bez potreby iniciovania ďalších relácií.
Začatie konania
Akcie programu, ktoré sa riadia základmi programovania orientovaného na udalosti, sa iniciujú udalosťami:
- Hardvér.
- Naplánovaný.
- Z času na vykonanie.
- Z operačného systému.
- Aktivuje sa podľa pokynov používateľa poskytnutých prostredníctvom interakcie s GUI programu.
V najjednoduchšom režime musia programátori odpovedať na otázku: „Čo by sa malo stať, keď dôjde k určitej udalosti?“
Nasledujúca rutina pseudokódu ukazuje, ako môže fungovať veľmi jednoduchý plánovač. Skladá sa z hlavnej slučky, ktorá beží nepretržite, kým nenastanú niektoré podmienky ukončenia.
Ak nastane udalosť, plánovač musí určiť typ udalosti a vybrať vhodný obslužný program udalosti alebo s udalosťou manipulovať, ak neexistuje vhodný obslužný program udalosti.
výhoda
Rýchlejšie spracovanie
Z dôvodu šírenia údajov medzi viacerými procesormi a spracovateľmi udalostí.
interaktivita
Toto je najdôležitejšia výhoda programovania orientovaného na udalosti, ktoré zlepšuje používateľské prostredie. Dnešní používatelia sa chcú aktívne zúčastňovať a nezostať pasívnymi spotrebiteľmi.
Preto programy založené na udalostiach pomáhajú používateľom orientovať sa v ich vlastnej skúsenosti a skúmať celý rad možností bez vopred stanovených obmedzení.
Menej kódovania rozhodnutí
Tento prístup k programovaniu má mnoho výhod pre všetky zúčastnené strany, pretože na kódovanie sa vyžaduje menej rozhodnutí ako pri tradičných aplikáciách.
Mnoho udalostí je určených skôr akciami používateľov, než aby mali pokročilé kódovanie pre všetky možné scenáre. Zatiaľ čo tradičné aplikácie pôsobia, aplikácie riadené udalosťami reagujú.
flexibilita
Je dokonale prispôsobený najnovším trendom v softvérovom inžinierstve, ako sú cloud computing, mikroprocesory a potreba lepšej škálovateľnosti pomocou flexibilných a distribuovaných systémov.
Platné lístky
Eliminuje možnosť zadania s neplatnými hodnotami. Tradičná aplikácia kladie otázku a umožňuje používateľovi napísať odpoveď. Aplikácie riadené udalosťami zvyčajne ponúkajú množinu možností, buď ako tlačidlá alebo ako rozbaľovacie ponuky.
Ľahká údržba
Potreba opravy a úpravy existujúceho kódu pri pridávaní alebo odoberaní modulov je vylúčená. Systém pokračuje v hladkej prevádzke bez ohľadu na akékoľvek takéto nastavenie.
Preto je toto programovanie vhodné pre aplikácie s riadiacimi tokmi založené na súbore interných a externých udalostí, a nie na základe štruktúry.
nevýhody
Zložitý riadiaci tok
Tento prístup k programovaniu nie je najlepšou možnosťou pre malé a jednoduché aplikácie, pretože úsilie, ktoré je potrebné vynaložiť, sa nezdá byť rozumné.
Vývoj aplikácie riadenej udalosťami zvyšuje zložitosť návrhu a poskytovania systému. Dôvodom je, že tradičné softvérové architektúry sú založené skôr na interakciách založených na požiadavkách ako na interakciách založených na udalostiach.
Ďalej je tiež potrebná veľká príprava kvôli potrebe neustále sa opakujúcich cyklických udalostí.
Nenahrádza štruktúrované programovanie
Malo by sa poznamenať, že programovanie zamerané na udalosti nenahrádza tradičné štruktúrované programovanie, ale iba ho dopĺňa.
Tradičné programovacie metodológie zostávajú nevyhnutné pre písanie celého programu, zatiaľ čo kódovacie prvky riadené udalosťami slúžia iba na pomoc pri navrhovaní GUI.
flexibilita
Flexibilita plánovania zameraného na udalosti, čo je jeho nespornou výhodou, sa v určitých situáciách stáva podvodom. Jedným z týchto prejavov je nepredvídateľnosť programu zameraného na udalosti v prípade, že má zmeny a slabšiu kontrolu nad celkovým systémom.
Aj keď kódovače radi používajú udalosti riadené programovaním, aby vykonali úpravy bez trenia, napríklad odstránenie alebo pridanie niektorých funkčných modulov, tieto úpravy môžu viesť k neočakávaným zmenám vo funkčnosti.
V konvenčnom programovaní systém veľmi rýchlo zistí tieto prevádzkové anomálie a poskytne programátorovi správu o ich príčinách. V programovom prostredí riadenom udalosťami je detekcia takýchto porúch menej rýchla a ľahká.
aplikácia
Pretože sa ukázalo, že programovanie založené na udalostiach je viac prístupom ako typom jazyka, aplikácie založené na udalostiach sa môžu vytvárať v ľubovoľnom programovacom jazyku.
Programovanie založené na udalostiach transformuje svet služieb vývoja softvéru a stáva sa neoddeliteľnou súčasťou dnešného vývoja. Jeho šírenie bolo stimulované Windows a šírenie vizuálnych prostredí.
Prípad situácií riadenej udalosťami by sa podobal časovaču budenia nastavenému na vykonanie konkrétnej úlohy v určitom čase, napríklad zvoneniu a oznámeniu niečoho, čo hovorí: „Zobuď sa!“
Grafické užívateľské rozhranie
Tento plánovací prístup je zameraný na udalosti. Medzi najbežnejšie oblasti aplikácií patrí vytváranie grafického používateľského rozhrania (GUI), serverové aplikácie a vývoj hier pre viacerých hráčov.
Aj keď tradičné programy určujú tok udalostí a majú kontrolu nad užívateľskými možnosťami, toto inovatívnejšie programovanie slúži na vytvorenie GUI.
GUI zmenilo interakciu človek-počítač tým, že používateľom ponúka rôzne možnosti vo forme rozbaľovacích ponúk, okien, tlačidiel a začiarkavacích políčok.
Preto si používatelia môžu namiesto vopred určeného poradia akcií nastaveného v počítači zvoliť jeden z mnohých dostupných príkazov samostatne.
Okrem toho, že sa toto programovanie široko používa v grafických používateľských rozhraniach, je tiež široko používané v aplikáciách, ktoré vykonávajú určité akcie v reakcii na vstup používateľa, ako sú webové aplikácie JavaScriptu.
Referencie
- Raspal Chima (2018). Aplikácie riadené udalosťami vo vývoji softvéru. Konzultanti čučoriedok. Prevzaté z: bbconsult.co.uk.
- Kvórum (2020). Vytváranie aplikácií - Lekcia 1: Úvod do programovania na základe udalostí. Prevzaté z: quorumlanguage.com.
- Margaret Rouse (2012). Aplikácia riadená udalosťami. TechTarget. Prevzaté z: searchitoperations.techtarget.com.
- Eseje UK (2018). Funkcie programovania riadené udalosťami. Prevzaté z: ukessays.com.
- Souvik Banerjee (2019). Programovanie na základe udalostí: Prečo je to teraz trendy? RS Websols. Prevzaté z: rswebsols.com.
- Techopedia (2018). Program riadený udalosťami. Prevzaté z: stroppedia.com.
- Technology UK (2020). Programovanie na základe udalostí. Prevzaté z: technologyuk.net.