- Esemény-orientált programozás jellemzői
- Eseményfüggőség
- Szolgáltatásközpontú
- Események
- Vezérlő
- Indító funkciók
- Idővezérelt
- Példák eseményvezérelt programozásra
- Munkavállalási engedély
- Intézkedések kezdeményezése
- Előny
- Gyorsabb feldolgozás
- Az interaktivitás
- Kevesebb a döntések kódolása
- Rugalmasság
- Érvényes jegyek
- Könnyű karbantartás
- hátrányok
- Komplex vezérlőáramlás
- Ez nem helyettesíti a strukturált programozást
- Rugalmasság
- Alkalmazások
- Grafikus felhasználói felület
- Irodalom
Az eseményvezérelt programozás a számítógépes programozás modelljére utal, ahol az eseményeket használják, amelyek meghatározzák a program vezérlési folyamatát.
Ez nem egyfajta technológia vagy programozási nyelv, hanem egy megközelítés, amelyet a termékfejlesztési szakaszban valósítanak meg. Alapvetően elválasztja az eseményfeldolgozási logikát a program többi kódjától.

Az ilyen típusú programozás célja az események felfedezése, amint azok bekövetkeznek, megfelelő eseménykezelési eljárás segítségével, általában egy függvény vagy módszer meghívásával.
Elméletileg a programozás stílusa kompatibilis az összes programozási nyelvvel, bár a megvalósítás módjától függően eltérő lehet.
Általában egy eseményvezérelt alkalmazásban van egy fő hurok, amely “meghallgatja” az új bejövő eseményeket, és funkcióhívást vált ki azok észlelésekor. Ezért működése az eseményekre összpontosít, annak eldöntésére, hogy mit és milyen sorrendben kell végrehajtani.
Esemény-orientált programozás jellemzői

Forrás: pixabay.com
Eseményfüggőség
A program folyamatát olyan események adják, amelyek felhasználói műveletek, más programok üzenetei stb. Adják, elválasztva a feldolgozási események logikáját a program többi kódjától, ellentétben a kötegelt feldolgozással.
Maguk az események a hitelkérelmek elfogadásától vagy elutasításától (magas szintű eseménynek) egészen a gombnyomásig terjedhetnek, amely alacsony szintű esemény.
Szolgáltatásközpontú
A kiszolgálásra tervezett programok írására használják, anélkül, hogy a számítógép lelassulna, mivel a szolgáltatásorientáció csak kevés feldolgozási energiát vesz igénybe. A szolgáltatások általában az operációs rendszer hátterében is futnak.
Események
Ez egy olyan feltétel, amely egy program végrehajtása során merül fel, és a rendszer részéről valamilyen intézkedést igényel. Minden esemény jellegétől eltérő, egyesek megkövetelik, hogy a program bizonyos információkat nyújtson és megjelenítsen, mások bizonyos számítások és állapotváltozások kezdeményezését igénylik.
Az események magukban foglalják az egeret, a billentyűzetet, a felhasználói felületet és azokat a műveleteket, amelyeket a programban be kell indítani, amikor azok bekövetkeznek. Ez azt jelenti, hogy a felhasználónak kölcsönhatásba kell lépnie egy adott objektummal a programban, például egérgombbal kell kattintania, a billentyűzetet kell kiválasztania egy gombra stb.
Vezérlő
Ez a program egy bizonyos egysége, amely aktiválódik, hogy reagáljon egy eseményre. Vagyis ez egy olyan típusú funkció vagy módszer, amely egy adott esemény végrehajtásakor végrehajt egy adott műveletet.
Például lehet egy gomb, amikor a felhasználó rákattint egy üzenetet jelenít meg, és amikor rákattint arra a gombra, bezárja az üzenetet.
Indító funkciók
Ezek olyan funkciók, amelyek eldöntik, hogy melyik kódot kell végrehajtani egy adott esemény bekövetkezésekor. Ezzel választják ki, hogy mely eseménykezelőt használja az esemény bekövetkezésekor.
Idővezérelt
Ez egy meghatározott kód, amely egy adott időben fut. Ez azt jelenti, hogy egy előre beállított feladat.
A Windows frissítés a szabályozott idő példája, ahol a felhasználó beállíthatja, hogy mikor kell frissíteni, illetve mikor kell ellenőrizni és letölteni a frissítést.
Példák eseményvezérelt programozásra
Az eseményorientált programok nagyon általánosak. A legszembetűnőbb példák között szerepel a szövegszerkesztés, rajzeszközök, táblázatok stb.
A legtöbb modern üzenetküldő rendszer az eseményvezérelt mintát követi, míg a nagyszabású webhelyek elosztott természetű skálázható és eseményvezérelt architektúrákat használnak. További példák a következők:
- Megnyomtunk egy gombot (szövegszerkesztő).
- Egy új feladatnaptár készen áll a személyzet számára történő kiosztásra (irányítási rendszer).
- HTML üzenet (webszerver) érkezett.
- Illegális kereskedelemstruktúrát fedeztek fel (csalás észlelése).
- Egy számítógépes játékban lévő autó ütközik egy másik autóval (versenyautó).
- Egy robot elérte rendeltetési helyét (raktárkezelés valós időben).
Munkavállalási engedély
Az eseményvezérelt programozás során alkalmazott esemény gyakorlati példája lehet egy alkalmazott, aki munkarendi engedélyt kér. Amikor ez a munkavállaló kiadja kérését, aktivál egy értesítést, amelyet jóváhagyás céljából elküld a menedzsernek.
A kezelő megtekintheti a kérés részleteit, jóváhagyhatja vagy elutasíthatja azt, frissítve a rendszerben, anélkül, hogy további munkamenetet kellene kezdeményeznie.
Intézkedések kezdeményezése
Az eseményorientált programozás alapjait követő program tevékenységeit események kezdeményezik:
- A hardver.
- Ütemezett.
- A végrehajtási idő.
- Az operációs rendszerből.
- A program grafikus felhasználói felületével való interakció révén adott felhasználói utasítások által aktiválva.
A legegyszerűbb módban a programozóknak meg kell válaszolniuk a kérdést: "Mi történjen, ha egy bizonyos esemény bekövetkezik?"
A következő álkód-rutin bemutatja, hogyan működhet egy nagyon egyszerű ütemező. Egy fő hurokból áll, amely folyamatosan fut, amíg valamilyen lezárási feltétel meg nem történik.
Esemény bekövetkezése esetén az ütemezőnek meg kell határoznia az esemény típusát és ki kell választania a megfelelő eseménykezelőt, vagy kezelnie kell az eseményt, ha nem létezik megfelelő eseménykezelő.

Előny
Gyorsabb feldolgozás
Az adatok több feldolgozó és eseménykezelő közötti terjesztése miatt.
Az interaktivitás
Ez az eseményorientált programozás legfontosabb előnye, javítva a felhasználói élményt. A mai felhasználók aktívan részt akarnak venni, és nem maradnak passzív fogyasztók.
Ezért az eseményalapú programok elősegített korlátozások nélkül segítik a felhasználókat a saját tapasztalataik navigálásában és a lehetőségek széles választékának felfedezésében.
Kevesebb a döntések kódolása
A programozásnak ez a megközelítése minden érdekelt számára sok előnnyel jár, mivel kevesebb döntésre van szükség a kódoláshoz, mint a hagyományos alkalmazásokhoz.
Sok eseményt a felhasználói műveletek határozzák meg, ahelyett, hogy minden lehetséges forgatókönyv fejlett kódolása lenne. Míg a hagyományos alkalmazások működnek, az eseményvezérelt alkalmazások reagálnak.
Rugalmasság
Ez tökéletesen illeszkedik a szoftverfejlesztés olyan közelmúltbeli trendjeihez, mint a felhőalapú számítástechnika, a mikroszolgáltatások, valamint a rugalmasabb és elosztott rendszerek jobb skálázhatóságának szükségessége.
Érvényes jegyek
Kiküszöböli az érvénytelen értékekkel történő bevitel lehetőségét. A hagyományos alkalmazás kérdést tesz fel, és lehetővé teszi a felhasználó számára a válasz beírását. Az eseményvezérelt alkalmazások általában választási lehetőségeket kínálnak, gombokként vagy legördülő menükként.
Könnyű karbantartás
A modulok hozzáadásakor vagy eltávolításakor nem szükséges a meglévő kódot kijavítani és beállítani. A rendszer továbbra is zökkenőmentesen működik, bármilyen ilyen beállítástól függetlenül.
Ezért ez a programozás alkalmazható olyan alkalmazásokhoz, amelyek vezérlőáramlása belső és külső események sorozatán alapul, nem pedig struktúrán alapul.
hátrányok
Komplex vezérlőáramlás
A programozásnak ez a megközelítése nem a legjobb megoldás a kicsi és egyszerű alkalmazások számára, mivel az elvégzendő erőfeszítések nem bizonyulnak ésszerűnek.
Eseményközpontú alkalmazás fejlesztése megnöveli a rendszer tervezésének és kézbesítésének bonyolultságát. Ennek oka az, hogy a hagyományos szoftver-architektúrák kérésen alapuló interakciókon alapulnak, nem pedig eseményvezérelt interakciókon.
Ezenkívül rendkívül sok előkészítésre van szükség a folyamatosan dinamikus eseményhurkok miatt.
Ez nem helyettesíti a strukturált programozást
Meg kell jegyezni, hogy az eseményorientált programozás nem helyettesíti a hagyományos strukturált programozást, hanem csak kiegészíti.
A hagyományos programozási módszertan továbbra is nélkülözhetetlen az egész program megírásához, míg az eseményvezérelt kódoló elemek csak a GUI megtervezéséhez szolgálnak.
Rugalmasság
Az esemény-orientált ütemezés rugalmassága, amely vitathatatlan előnye, bizonyos forgatókönyvekben is csalássá válik. Az egyik ilyen megnyilvánulás az eseményorientált program kiszámíthatatlansága abban az esetben, ha változásai vannak és gyengébb irányítása van az egész rendszer felett.
Noha a kódolók eseményvezérelt programozást szeretnének használni súrlódásmentes beállítások elvégzésére, például egyes funkcionális modulok eltávolítására vagy hozzáadására, ezek a beállítások a funkcionalitás váratlan változásait eredményezhetik.
A hagyományos programozás során a rendszer nagyon gyorsan felfedezi ezeket a működési rendellenességeket, és jelentést nyújt a programozónak azok okairól. Eseményvezérelt programozási környezetben az ilyen rendellenességek észlelése kevésbé gyors és egyszerű.
Alkalmazások
Mivel az eseményvezérelt programozás inkább megközelítés, mint egyfajta nyelv, kiderül, hogy az eseményalapú alkalmazások bármilyen programozási nyelven létrehozhatók.
Az eseményvezérelt programozás átalakítja a szoftverfejlesztési szolgáltatások világát, és a mai fejlesztés szerves részévé válik. A diffúziót a Windows és a vizuális környezetek diffúziója ösztönözte.
Egy eseményvezérelt helyzet esete hasonlít egy ébresztési időzítőre, amely egy adott időben meghatározott feladat elvégzésére szolgál, például csengetésre és valami kommunikációra, amely azt mondja: "Ébredj fel!"
Grafikus felhasználói felület
Ez az ütemezési megközelítés eseményközpontú. A leggyakoribb alkalmazási területek a grafikus felhasználói felület (GUI), a szerver alkalmazások és a többjátékos játékok fejlesztése.
Míg a hagyományos programok meghatározzák az események folyamatát és ellenőrzik a felhasználói lehetőségeket, ez az innovatívabb programozás a GUI létrehozását szolgálta.
A grafikus felhasználói felület megváltoztatta az ember és a számítógép közötti interakciót, mivel számos lehetőséget kínál a felhasználóknak legördülő menük, ablakok, gombok és jelölőnégyzetek formájában.
Ezért ahelyett, hogy követné a számítógép által előre meghatározott műveleti sorrendet, a felhasználók maguk közül választhatnak a rendelkezésre álló számos parancs közül.
Amellett, hogy ezt a programozást széles körben alkalmazzák a grafikus felhasználói felületekben, széles körben alkalmazzák az alkalmazásokban is, amelyek bizonyos intézkedéseket hajtanak végre a felhasználó bevitele alapján, például a JavaScript webes alkalmazásokban.
Irodalom
- Raspal Chima (2018). Eseményvezérelt alkalmazások a szoftverfejlesztésben. Áfonya tanácsadók. Feltöltve: bbconsult.co.uk.
- Kvórum (2020). Építési alkalmazások - 1. lecke: Bevezetés az eseményvezérelt programozáshoz. Felvétel: quorumlanguage.com.
- Margaret Rouse (2012). Eseményvezérelt alkalmazás. TechTarget. Feltéve: searchitoperations.techtarget.com.
- UK esszé (2018). Eseményvezérelt programozási szolgáltatások. Forrás: ukessays.com.
- Souvik Banerjee (2019). Eseményvezérelt programozás: Miért népszerű most? RS Websols. Forrás: rswebsols.com.
- Techopedia (2018). Eseményvezérelt program. Feltöltve: roofpedia.com.
- Technology UK (2020). Eseményvezérelt programozás. Forrás: technologyuk.net.
