Programmering georiënteerd op karakteristieke gebeurtenissen, voorbeelden, voordelen, toepassingen

Programmering georiënteerd op karakteristieke gebeurtenissen, voorbeelden, voordelen, toepassingen

De Evenementgerichte programmering Het verwijst naar een computerprogrammeermodel, waarbij gebeurtenissen die plaatsvinden voor de bepaling van de besturingsstroom van een programma worden gebruikt.

Het is geen soort technologie- of programmeertaal, maar een aanpak die wordt geïmplementeerd tijdens de fase van productontwikkeling. Kortom, het scheidt de logica van de gebeurtenisverwerking van de rest van de code van een programma.

Dit type programmering is ontworpen om gebeurtenissen te ontdekken tijdens het gebeuren, met behulp van een geschikte procedure voor gebeurtenisbeheer om ze te behandelen, normaal gesproken door een functie of methode te vragen.

Theoretisch is de stijl van dit programma compatibel met alle programmeertalen, hoewel het anders kan zijn in de manier van implementeren.

Over het algemeen is er in een applicatie -gecontroleerde toepassing een hoofdlus die "luistert" naar nieuwe inkomende gebeurtenissen, waarbij een oproep naar een functie wordt geactiveerd wanneer ze worden gedetecteerd. Daarom richt de werking de werking op gebeurtenissen en beslist deze wat te uitvoeren en in welke volgorde.

[TOC]

Evenement -georiënteerde programmeerkenmerken

Bron: Pixabay.com

Gebeurtenisafhankelijkheid

De stroom van het programma wordt gegeven door gebeurtenissen die gebruikersacties, berichten van andere programma's, enz. Kunnen zijn., het scheiden van de verwerkingslogica van de gebeurtenissen van de rest van de code van een programma, waardoor het in contrast is met de batchverwerking.

De gebeurtenissen zelf kunnen zijn door een leningaanvraag te accepteren of af te wijzen, een gebeurtenis met een hoog niveau, totdat een gebruiker op een sleutel drukt, wat een evenement met een laag niveau is.

Servicegericht

Het wordt gebruikt om programma's te schrijven die zijn ontworpen voor service zonder de computer te vertragen, omdat servicoriëntatie slechts weinig verwerkingskracht verbruikt. Bovendien worden de services meestal uitgevoerd op de achtergrond van het besturingssysteem.

Evenementen

Het is een voorwaarde die ontstaat tijdens de uitvoering van een programma en die enige actie door het systeem vereist. Elk evenement is van nature anders, sommigen vereisen dat het programma bepaalde informatie herstelt en weergeeft, en andere dat sommige berekeningen en statusveranderingen beginnen.

De gebeurtenissen omvatten de muis, het toetsenbord, een gebruikersinterface en de acties die in het programma moeten worden geactiveerd wanneer ze zich voordoen. Dit betekent dat de gebruiker moet communiceren met een object in het programma, hoe op een muisknop te klikken, het toetsenbord te gebruiken om een ​​knop te selecteren, enz.

Controleur van gebeurtenissen

Het is een bepaalde eenheid van het programma dat is geactiveerd om op een gebeurtenis te reageren. Dat wil zeggen, het is een type functie of methode die een specifieke actie uitvoert wanneer een specifieke gebeurtenis wordt geactiveerd.

Het kan bijvoorbeeld een knop zijn die wanneer de gebruiker erop klikt, een bericht weergeeft en bij het klikken op die knop het bericht sluit.

Kan u van dienst zijn: constant (programmeren): concept, typen, voorbeelden

Activeringsfuncties

Het zijn functies die beslissen welke code moet worden uitgevoerd wanneer een specifieke gebeurtenis plaatsvindt. Ze worden gebruikt om te selecteren welke gebeurteniscontroller met behulp van een gebeurtenis.

Gecontroleerde tijd

Het is een specifieke code die op een bepaald moment wordt uitgevoerd. Dit betekent dat het een vooraf ingestelde taak is om te doen.

Windows Update is een gecontroleerd voorbeeld, waarbij de gebruiker kan vaststellen wanneer de update moet worden bijgewerkt of wanneer de update moet worden gecontroleerd en gedownload.

Evenement -georiënteerde programmeervoorbeelden

Evenement -georiënteerde programma's zijn heel gebruikelijk geworden. Een van de meest beruchte voorbeelden zijn tekstverwerking, tekentools, spreadsheets, enz.

De meeste moderne berichtensystemen volgen ook het evenement -georiënteerde patroon, terwijl grootschalige websites schaalbare architecturen gebruiken en gecontroleerd door gedistribueerde gebeurtenissen. Andere voorbeelden zijn:

- Er is een toets ingedrukt (teksteditor).

- Een nieuwe taakkalender is klaar om te worden gedistribueerd onder al het personeel (managementsysteem).

- Er is een HTML -bericht (webserver) ontvangen.

- Er is een illegaal handelspatroon (fraude detectie) ontdekt.

- Een auto in een computerspel botst met een andere auto (racegame).

- Een robot heeft zijn bestemming bereikt (Real -Time Warehouse Management).

Werkvergunning

Een praktisch voorbeeld van een gebeurtenis die wordt gebruikt in gebeurtenisgeoriënteerde programmering kan een werknemer zijn die om een ​​werkvergunning in een systeem vraagt. Wanneer deze werknemer zijn aanvraag afgeeft, zal hij een melding activeren die naar de manager wordt gestuurd om deze goed te keuren.

De manager kon de details van de aanvraag zien, goedkeuren of afwijzen, bijwerken in het systeem zonder de noodzaak om extra sessies te starten.

Start van acties

De acties van een programma dat volgt op de basisprincipes van gebeurtenissen die zijn gericht op gebeurtenissen worden geïnitieerd door gebeurtenissen:

- Van hardware.

- Geprogrammeerd.

- Uitvoertijd.

- Van het besturingssysteem.

- Geactiveerd door gebruikersinstructies gegeven door de interactie met het programma van het programma.

Op hun eenvoudigste manier moeten programmeurs de volgende vraag beantwoorden: “Wat zou er moeten gebeuren als er een specifieke gebeurtenis plaatsvindt?".

De volgende pseudocode -routine laat zien hoe een zeer eenvoudige planner zou kunnen werken. Het bestaat uit een hoofdlus die continu wordt uitgevoerd totdat een beëindigingstoestand optreedt.

Wanneer een gebeurtenis plaatsvindt, moet de planner het type gebeurtenis bepalen en een geschikte gebeurteniscontroller selecteren of de gebeurtenis verwerken als er geen geschikte gebeurteniscontroller is.

Kan u van dienst zijn: zware machines

Voordelen

Snellere verwerking

Vanwege de verspreiding van gegevens tussen meerdere processors en gebeurtenismanagers.

Interactiviteit

Dit is het belangrijkste voordeel van gebeurtenisgerichte programmering, het verbeteren van gebruikerservaring. Huidige gebruikers willen actief deelnemen en niet blijven als passieve consumenten.

Daarom helpen programma's op basis van evenementen gebruikers om hun eigen ervaring te navigeren en verschillende opties te verkennen, zonder vooraf ingestelde beperkingen.

Lagere beslissingen coderen

Deze programmeerbenadering heeft talloze voordelen voor alle geïnteresseerde partijen, omdat het vereist is om minder beslissingen te coderen dan traditionele toepassingen.

Veel gebeurtenissen worden bepaald door de acties van de gebruiker, in plaats van een geavanceerde codering te hebben voor alle mogelijke scenario's. Terwijl traditionele applicaties handelen, reageren evenementengeoriënteerde toepassingen.

Flexibiliteit

Het past zich perfect aan aan recente trends op het gebied van software -engineering, zoals cloud computing, microservices en de behoefte aan betere schaalbaarheid met flexibele en gedistribueerde systemen.

Geldige kaartjes

Elimineert de mogelijkheid van tickets met niet -valide waarden. Een traditionele applicatie vraagt ​​en stelt de gebruiker in staat om een ​​antwoord te schrijven. Evenement -georiënteerde applicaties bieden meestal een reeks opties, hetzij als knoppen of als drop -down menu's.

Makkelijk onderhoud

De noodzaak om de bestaande code te corrigeren en aan te passen bij het toevoegen of verwijderen van een module wordt geëlimineerd. Het systeem blijft zonder problemen functioneren, ongeacht de aanpassing van dit type.

Daarom is deze programmering geschikt voor toepassingen met besturingsstromen op basis van een set interne en externe gebeurtenissen, in plaats van op basis van een structuur.

Nadelen

Complexe controlestroom

Deze programmeerbenadering is niet de beste optie voor kleine en eenvoudige toepassingen, omdat de inspanningen die moeten worden geleverd niet verstandig blijken te zijn.

De ontwikkeling van een op evenementen georiënteerde toepassing verhoogt de complexiteit van het ontwerp en de levering van het systeem. Dit is te wijten aan het feit dat traditionele software -architecturen gebaseerd zijn op op applicaties gebaseerde interacties, in plaats van op gebeurtenissen gecontroleerde interacties.

Bovendien is ook veel voorbereiding vereist vanwege de noodzaak van onophoudelijk dynamische gebeurtenissenlussen.

Vervangt geen gestructureerd programmeren

Er moet rekening mee worden gehouden dat op evenementen georiënteerde programmering geen traditionele gestructureerde programmering vervangt, maar het alleen aanvult.

Traditionele programmeermethoden blijven essentieel om het programma in het algemeen te schrijven, terwijl coderingselementen beheerd door evenementen alleen maar dienen om de GUI te ontwerpen.

Flexibiliteit

De flexibiliteit van het programma -georiënteerde programmering, dat het onbetwistbare voordeel is, wordt ook een fraude in bepaalde scenario's. Een van deze manifestaties is de onvoorspelbaarheid van een gebeurtenisgericht programma voor het geval het veranderingen heeft en een zwakkere controle over het systeem in het algemeen.

Het kan u van dienst zijn: 23 voor- en nadelen van online studeren

Hoewel encoders graag gebeurtenisgeoriënteerde programmering gebruiken om aanpassingen te kunnen maken zonder wrijving, zoals de eliminatie of toevoeging van sommige functionele modules, kunnen deze aanpassingen ongelukte wijzigingen in functionaliteit genereren.

In conventionele programmering ontdekt het systeem deze operationele afwijkingen zeer snel en biedt het een rapport aan de programmeur over zijn oorzaken. In de omgevingsgerichte programmeeromgeving is de detectie van dergelijke disfuncties minder snel en eenvoudig.

Toepassingen

Aangezien Event -georiënteerde programmering meer een aanpak blijkt te zijn dan een type taal, kunnen applicaties die zijn gebaseerd op gebeurtenissen worden gemaakt in elke programmeertaal.

Evenement -georiënteerde programmering transformeert de wereld van Software Development Services en wordt een integraal onderdeel van de huidige ontwikkeling. De diffusie ervan werd gestimuleerd door vensters en de verspreiding van visuele omgevingen.

Een geval van een situatie die door een gebeurtenis wordt aangedreven, zou lijken op een activeringstimer die is geconfigureerd om een ​​specifieke taak op een bepaald tijdstip te maken, zoals klinken en communiceren dat zegt: “Word wakker!".

Gebruikersgrafische interface

Deze programmeerbenadering richt zich op gebeurtenissen. De meest voorkomende applicatiegebieden omvatten het maken van de Graphical Interface (GUI) van de gebruikers, servertoepassingen en de ontwikkeling van games voor meerdere spelers.

Hoewel conventionele programma's de stroom van gebeurtenissen vaststellen en controle hebben over gebruikersopties, diende deze meer innovatieve programmering om de GUI te maken.

De GUI veranderde de interactie tussen mens en computer door gebruikers meerdere opties aan te bieden in de vorm van vervolgkeuzemenu's, ramen, knoppen en verificatieboxen.

Daarom kunnen gebruikers in plaats van de standaardvolgorde van acties die zijn vastgesteld, zelf een van de vele beschikbare opdrachten kiezen.

Naast het breed toepassen van deze programmering in de grafische interfaces van de gebruikers, ook in applicaties die bepaalde acties uitvoeren in reactie op gebruikersinvoer, zoals JavaScript -webtoepassingen.

Referenties

  1. Raspal Chima (2018). Evenementgestuurde applicaties in softwareontwikkeling. Blueberry Consultants. Genomen uit: bbconsult.co.Uk.
  2. Quorum (2020). Building Apps - Les 1: Inleiding tot Event -aangedreven programmeren. Genomen uit: quorumlanguage.com.
  3. Margaret Rouse (2012). Evenementgestuurde applicatie. Techtarget. Genomen van: zoekitoperaties.Techtarget.com.
  4. Britse essays (2018). Evenementgestuurde programmeerfuncties. Uitgevoerd uit: ukessays.com.
  5. Souvik Banerjee (2019). Gebeurtenisgestuurde programmering: waarom is het nu trending? RS Webols. Genomen uit: rswebsols.com.
  6. Ravepedia (2018). Evenementgestuurde programma. Genomen uit: Ravepedia.com.
  7. Technology UK (2020). Evenementgestuurde programmering. Genomen van: Technologyuk.netto.