The událostně orientované programování odkazuje na model počítačového programování, kde se události, které se stanou, používají k určení toku řízení programu.
Nejedná se o typ technologie nebo programovací jazyk, ale spíše o přístup, který je implementován během fáze 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 objevil události hned, jak k nim dojde, pomocí vhodného postupu zpracování událostí k jejich řešení, obvykle voláním funkce nebo metody..
Teoreticky je styl tohoto programování kompatibilní se všemi programovacími jazyky, i když se může lišit ve způsobu jeho implementace.
Obecně platí, že v aplikaci řízené událostmi existuje hlavní smyčka, která „naslouchá“ novým příchozím událostem a spouští volání funkce, když jsou detekovány. Proto se jeho operace zaměřuje na události, rozhodování o tom, co provést a v jakém pořadí.
Rejstřík článků
Tok programu je dán událostmi, kterými mohou být akce uživatele, zprávy z jiných programů atd., Oddělující logiku zpracování událostí od zbytku kódu programu, což kontrastuje s dávkovým zpracováním.
Samotné události 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 uživatele, který stiskne klávesu, což je událost na nízké úrovni..
Používá se k psaní programů určených pro službu bez zpomalení počítače, protože orientace služby spotřebovává jen malou výpočetní sílu. Služby navíc obecně běží na pozadí operačního systému..
Je to stav, který vzniká během provádění programu a který vyžaduje nějakou akci ze strany systému. Každá událost se liší svou povahou, některé vyžadují, aby program získal a zobrazil určité informace, a jiné zahájily 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í interagovat s objektem v programu, například klepnutím na tlačítko myši, výběrem tlačítka pomocí klávesnice atd..
Jedná se o určitou jednotku programu, která je aktivována, aby reagovala na událost. To znamená, že se jedná o typ funkce nebo metody, která provede konkrétní akci při spuštění určité události.
Může to být například tlačítko, které když uživatel na něj klikne, zobrazí zprávu a když na toto tlačítko znovu klikne, zprávu zavře.
Jsou to funkce, které rozhodují, jaký kód se má provést, když dojde ke konkrétní události. Slouží k výběru obslužné rutiny události, která se má použít, když dojde k události.
Jedná se o konkrétní kód, který běží v určitou dobu. To znamená, že se jedná o přednastavený úkol.
Aktualizace systému Windows je příkladem řízeného času, kdy uživatel může nastavit, kdy se má aktualizace aktualizovat nebo kdy ji má zkontrolovat a stáhnout.
Programy zaměřené na události se staly velmi běžnými. Mezi nejvýznamnější příklady patří zpracování textu, kreslicí nástroje, tabulky atd..
Většina moderních systémů pro zasílání zpráv se rovněž řídí vzorem řízeným událostmi, zatímco rozsáhlé weby používají škálovatelné architektury založené na událostech distribuované povahy. Další příklady jsou:
- Byla stisknuta klávesa (textový editor).
- Nový kalendář úkolů je připraven k distribuci všem zaměstnancům (systém správy).
- Přijata zpráva HTML (webový server).
- Byl zjištěn nezákonný obchodní model (detekce podvodu).
- Auto v počítačové hře se srazí s jiným autem (závodní hra).
- Robot dosáhl svého cíle (správa skladu v reálném čase).
Praktickým příkladem události použité při plánování podle událostí může být zaměstnanec, který žádá o pracovní povolení v systému. Když tento zaměstnanec vydá svůj požadavek, aktivuje oznámení, které bude zasláno vedoucímu ke schválení..
Správce mohl zobrazit podrobnosti požadavku, schválit nebo odmítnout jej, aktualizovat jej v systému bez nutnosti zahájit další relace.
Akce programu, který sleduje základy programování orientovaného na události, jsou iniciovány událostmi:
- Hardware.
- Naplánováno.
- Čas běhu.
- Z operačního systému.
- Spustí se podle pokynů uživatele poskytnutých prostřednictvím interakce s grafickým uživatelským rozhraním programu.
V nejjednodušším režimu musí programátoři odpovědět na následující otázku: „Co by se mělo stát, když dojde k určité události?“.
Následující rutina pseudokódu ukazuje, jak může fungovat velmi jednoduchý plánovač. Skládá se z hlavní smyčky, která běží nepřetržitě, dokud nenastane nějaká podmínka ukončení.
Když dojde k události, musí plánovač určit typ události a vybrat vhodný obslužný program události, nebo zpracovat událost, pokud vhodný obslužný program události neexistuje.
Kvůli šíření dat mezi více procesory a obslužnými rutinami událostí.
Toto je nejdůležitější výhoda programování zaměřeného na události, která zlepšuje uživatelský komfort. Současní uživatelé se chtějí aktivně účastnit a nezůstanou pasivními spotřebiteli.
Programy založené na událostech proto pomáhají uživatelům orientovat se v jejich vlastních zkušenostech a zkoumat různé možnosti bez přednastavených omezení..
Tento programovací přístup má mnoho výhod pro všechny zúčastněné strany, protože k pevnému kódování je zapotřebí méně rozhodnutí než u tradičních aplikací..
Mnoho událostí je určováno akcí uživatele, spíše než pokročilým kódováním pro všechny možné scénáře. Zatímco tradiční aplikace fungují, aplikace založené na událostech reagují.
Dokonale se hodí k nejnovějším trendům v softwarovém inženýrství, jako jsou cloudové výpočty, mikroslužby a potřeba lepší škálovatelnosti pomocí flexibilních a distribuovaných systémů.
Eliminuje možnost záznamů s neplatnými hodnotami. Tradiční aplikace položí otázku a umožní uživateli zadat odpověď. Aplikace založené na událostech obvykle nabízejí sadu možností, buď jako tlačítka nebo jako rozevírací nabídky..
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 nadále funguje hladce 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í, nikoli na základě struktury.
Tento programovací přístup není nejlepší volbou pro malé a jednoduché aplikace, protože úsilí, které je třeba vyvinout, se neukázalo jako rozumné.
Vývoj aplikace založené na událostech zvyšuje složitost návrhu a dodávky 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 řízených událostmi..
Dále je zapotřebí velké přípravy kvůli potřebě neustále dynamických smyček událostí..
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í metodiky programování jsou pro psaní celkového programu stále nezbytné, zatímco prvky kódování založené na událostech slouží pouze k návrhu grafického uživatelského rozhraní..
Flexibilita programování zaměřeného na události, což je jeho nesporná výhoda, se také v určitých scénářích stává podvodem. Jedním z těchto projevů je nepředvídatelnost programu orientovaného na události v případě, že má změny a obecně slabší kontrolu nad systémem..
Ačkoli programátoři rádi používají programování řízené událostmi, aby mohli provádět úpravy bez tření, jako je odebrání nebo přidání některých funkčních modulů, mohou tyto úpravy vést k neočekávaným změnám ve funkčnosti..
V konvenčním programování systém velmi rychle zjistí 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á.
Vzhledem k tomu, že programování založené na událostech se ukázalo být více přístupem než typem jazyka, lze aplikace založené na událostech vytvářet v libovolném programovacím jazyce..
Programování založené na událostech transformuje 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ím vizuálních prostředí.
Případ situace vyvolané událostmi by připomínal budicí časovač nastavený na provedení konkrétního úkolu v určitou dobu, jako je vyzvánění a komunikace s něčím, co říká: „Probuď se!“.
Tento přístup k plánování je zaměřen na události. Mezi nejběžnější oblasti aplikací patří tvorba 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í grafického uživatelského rozhraní.
GUI změnilo interakci člověka s počítačem tím, že uživatelům nabídlo více možností v podobě rozevírací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ých počítačem zvolit jeden z mnoha dostupných příkazů sami..
Kromě toho, že je toto programování široce používáno v grafických uživatelských rozhraních, také v aplikacích, které provádějí určité akce v reakci na vstup uživatele, jako jsou webové aplikace JavaScriptu..
Zatím žádné komentáře