- Vlastnosti programování zaměřeného na události
- Závislost na události
- Orientace na služby
- Události
- Ovladač
- Spouštěcí funkce
- Časově řízené
- Příklady programování řízeného událostmi
- Pracovní povolení
- Zahájení akcí
- Výhoda
- Rychlejší zpracování
- Interaktivita
- Méně kódování rozhodnutí
- Flexibilita
- Platné vstupenky
- Snadná údržba
- Nevýhody
- Složitý řídicí tok
- Nenahrazuje strukturované programování
- Flexibilita
- Aplikace
- Grafické uživatelské prostředí
- Reference
Událost - programování řízené odkazuje na model počítačového programování, kde jsou použity události, které se dějí zjistit tok řízení programu.
Není to typ technologie nebo programovacího jazyka, ale spíše přístup, který je implementován ve fázi vývoje produktu. V zásadě odděluje logiku zpracování událostí od zbytku kódu v programu.
Tento typ programování je navržen tak, aby odhalil události, ke kterým dojde, s použitím vhodného postupu zpracování událostí, který se s nimi vypořádá, obvykle voláním funkce nebo metody.
Teoreticky je styl tohoto programování kompatibilní se všemi programovacími jazyky, ačkoli se může ve způsobu implementace lišit.
Obecně platí, že v aplikaci řízené událostmi existuje hlavní smyčka, která „poslouchá“ nové příchozí události a při detekci spustí funkční volání. Proto se její činnost zaměřuje na události, rozhoduje o tom, co provést a v jakém pořadí.
Vlastnosti programování zaměřeného na události
Zdroj: pixabay.com
Závislost na události
Tok programu je dán událostmi, které mohou být uživatelskými akcemi, zprávami od jiných programů atd., Oddělující logiku zpracování událostí od zbytku kódu programu, což je v kontrastu s dávkovým zpracováním.
Události samotné se mohou pohybovat od přijetí nebo odmítnutí žádosti o půjčku, která se nazývá událost na vysoké úrovni, až po stisknutí klávesy, což je událost na nízké úrovni.
Orientace na služby
Používá se k psaní programů určených pro službu, aniž by došlo ke zpomalení počítače, protože orientace na službu spotřebovává jen malý výpočetní výkon. Služby jsou obvykle provozovány na pozadí operačního systému.
Události
Je to stav, který vzniká při provádění programu a který vyžaduje určitou akci ze strany systému. Každá událost je svou povahou jiná, některé vyžadují, aby program získával a zobrazoval určité informace, a jiné vyžadují, aby byly zahájeny některé výpočty a změny stavu.
Události zahrnují myš, klávesnici, uživatelské rozhraní a akce, které by se měly v programu spustit, když k nim dojde. To znamená, že uživatel musí komunikovat s objektem v programu, například klepnutím na tlačítko myši, pomocí klávesnice vybrat tlačítko atd.
Ovladač
Je to určitá jednotka programu, která je aktivována, aby reagovala na událost. To znamená, že je to typ funkce nebo metody, která provádí konkrétní akci, když je spuštěna určitá událost.
Mohlo by to být například tlačítko, které když uživatel na něj klikne, zobrazí zprávu a když na toto tlačítko klepne, zprávu uzavře.
Spouštěcí funkce
Jsou to funkce, které rozhodují, jaký kód se má spustit, když dojde k určité události. Používají se k výběru obsluhy událostí, která se má použít, když dojde k události.
Časově řízené
Je to specifický kód, který běží v určitém čase. To znamená, že je to přednastavený úkol.
Aktualizace systému Windows je příkladem kontrolovaného času, kdy si uživatel může nastavit, kdy se má aktualizovat nebo kdy má tuto aktualizaci zkontrolovat a stáhnout.
Příklady programování řízeného událostmi
Programy zaměřené na události se staly velmi běžnými. Mezi nejvýznamnější příklady patří zpracování textu, nástroje pro kreslení, tabulky atd.
Většina moderních systémů zasílání zpráv se řídí také vzorem řízeným událostmi, zatímco rozsáhlé weby používají škálovatelné a událostem řízené architektury distribuované přírody. Dalšími příklady jsou:
- Byla stisknuta klávesa (textový editor).
- Nový kalendář úkolů je připraven k distribuci všem zaměstnancům (systém řízení).
- Byla přijata zpráva HTML (webový server).
- Byl zjištěn nezákonný obchod (odhalení podvodů).
- Auto v počítačové hře se srazí s jiným vozem (závodní hra).
- Robot dosáhl svého cíle (řízení skladu v reálném čase).
Pracovní povolení
Praktickým příkladem události používané v programování založeném na událostech může být zaměstnanec, který žádá o pracovní povolení v systému. Když tento zaměstnanec vydá svou žádost, aktivuje oznámení, které bude zasláno vedoucímu ke schválení.
Manažer mohl zobrazit podrobnosti žádosti, schválit nebo odmítnout, aktualizovat ji v systému bez nutnosti iniciovat další relace.
Zahájení akcí
Akce programu, které následují základy programování zaměřeného na události, jsou iniciovány událostmi:
- Hardware.
- Naplánováno.
- Z času na provedení.
- Z operačního systému.
- Aktivováno pomocí uživatelských pokynů zadaných prostřednictvím interakce s GUI programu.
Ve svém nejjednodušším režimu musí programátoři odpovědět na otázku: „Co by se mělo stát, když dojde k určité události?“
Následující rutina pseudokódu ukazuje, jak by mohl fungovat velmi jednoduchý plánovač. Skládá se z hlavní smyčky, která běží nepřetržitě, dokud nenastanou nějaké podmínky ukončení.
Když nastane událost, musí plánovač určit typ události a vybrat vhodný obslužný program události nebo zpracovat událost, pokud neexistuje vhodný obslužný program události.
Výhoda
Rychlejší zpracování
Kvůli šíření dat mezi více procesory a obsluhy událostí.
Interaktivita
Toto je nejdůležitější výhoda programování zaměřeného na události, které zlepšuje uživatelský dojem. Dnešní uživatelé se chtějí aktivně účastnit a ne zůstat pasivními spotřebiteli.
Programy založené na událostech proto uživatelům pomáhají orientovat se v jejich vlastních zkušenostech a prozkoumávat celou řadu možností, bez předem stanovených omezení.
Méně kódování rozhodnutí
Tento přístup k programování má mnoho výhod pro všechny zúčastněné strany, protože pro kódování je zapotřebí méně rozhodnutí než u tradičních aplikací.
Mnoho událostí je určeno spíše akcí uživatele, než aby mělo pokročilé kódování pro všechny možné scénáře. Zatímco tradiční aplikace fungují, aplikace řízené událostmi reagují.
Flexibilita
Je dokonale přizpůsoben nejnovějším trendům v softwarovém inženýrství, jako je cloud computing, mikroprocesory a potřebě lepší škálovatelnosti pomocí flexibilních a distribuovaných systémů.
Platné vstupenky
Eliminuje možnost zadání s neplatnými hodnotami. Tradiční aplikace klade otázku a umožňuje uživateli zadat odpověď. Aplikace řízené událostmi obvykle nabízejí řadu možností, buď jako tlačítka nebo jako rozevírací nabídky.
Snadná údržba
Potřeba opravit a upravit stávající kód při přidávání nebo odebírání modulů je vyloučena. Systém pokračuje v hladkém provozu bez ohledu na jakékoli takové nastavení.
Proto je toto programování vhodné pro aplikace s řídicími toky založenými na sadě interních a externích událostí, spíše než na základě struktury.
Nevýhody
Složitý řídicí tok
Tento přístup k programování není nejlepší volbou pro malé a jednoduché aplikace, protože úsilí, které je třeba vyvinout, se nezdá být rozumné.
Vývoj aplikace řízené událostmi zvyšuje složitost návrhu a dodání systému. Důvodem je, že tradiční softwarové architektury jsou založeny na interakcích založených na požadavcích, nikoli na interakcích založených na událostech.
Kromě toho je také zapotřebí velká příprava kvůli potřebě nepřetržitě dynamických smyček událostí.
Nenahrazuje strukturované programování
Je třeba poznamenat, že programování zaměřené na události nenahrazuje tradiční strukturované programování, ale pouze ho doplňuje.
Tradiční metody programování zůstávají nezbytné pro psaní celého programu, zatímco kódovací prvky řízené událostmi slouží pouze k návrhu GUI.
Flexibilita
Pružnost plánování zaměřeného na události, což je jeho nesporná výhoda, se v určitých scénářích také stává podvodem. Jedním takovým projevem je nepředvídatelnost programu zaměřeného na události v případě, že má změny a slabší kontrolu nad celkovým systémem.
Přestože kodéry rádi používají události řízené programování, aby provedly úpravy bez tření, jako je odebrání nebo přidání některých funkčních modulů, tato nastavení mohou vést k neočekávaným změnám ve funkčnosti.
V konvenčním programování systém velmi rychle odhalí tyto provozní anomálie a poskytne programátorovi zprávu o jejich příčinách. V programovacím prostředí řízeném událostmi je detekce takových poruch méně rychlá a snadná.
Aplikace
Protože se ukázalo, že programování řízené událostmi je více přístupem než typem jazyka, lze aplikace založené na událostech vytvářet v libovolném programovacím jazyce.
Programování řízené událostmi mění svět služeb vývoje softwaru a stává se nedílnou součástí dnešního vývoje. Jeho šíření bylo stimulováno Windows a šíření vizuálních prostředí.
Případ situace vyvolané událostmi by se podobal časovači budíku nastavenému k provedení konkrétního úkolu v určitém čase, jako je vyzvánění a komunikace něčeho, co říká: „Probuď se!“
Grafické uživatelské prostředí
Tento přístup plánování je zaměřen na události. Mezi nejběžnější oblasti aplikace patří vytváření grafického uživatelského rozhraní (GUI), serverové aplikace a vývoj her pro více hráčů.
Zatímco konvenční programy vytvářejí tok událostí a mají kontrolu nad uživatelskými možnostmi, toto inovativnější programování sloužilo k vytvoření GUI.
GUI změnilo interakci člověka s počítačem tím, že nabídlo uživatelům více možností ve formě rozbalovacích nabídek, oken, tlačítek a zaškrtávacích políček.
Proto si uživatelé mohou místo předem stanoveného pořadí akcí nastaveného počítačem vybrat jeden z mnoha dostupných příkazů samostatně.
Kromě toho, že je toto programování široce používáno v grafických uživatelských rozhraních, je také široce používáno v aplikacích, které provádějí určité akce v reakci na vstup uživatele, jako jsou webové aplikace JavaScriptu.
Reference
- Raspal Chima (2018). Aplikace řízené událostmi ve vývoji softwaru. Blueberry Consultants. Převzato z: bbconsult.co.uk.
- Kvórum (2020). Vytváření aplikací - Lekce 1: Úvod do programování na základě událostí. Převzato z: quorumlanguage.com.
- Margaret Rouse (2012). Aplikace řízená událostmi. Techtarget. Převzato z: searchitoperations.techtarget.com.
- Eseje UK (2018). Funkce programování řízené událostmi. Převzato z: ukessays.com.
- Souvik Banerjee (2019). Programování řízené událostmi: Proč nyní trendy? RS Websols. Převzato z: rswebsols.com.
- Techopedia (2018). Program řízený událostmi. Převzato z: stroppedia.com.
- Technologie UK (2020). Programování řízené událostmi. Převzato z: technologyuk.net.