Das ereignisorientierte Programmierung bezieht sich auf ein Modell der Computerprogrammierung, bei dem die Ereignisse, die auftreten, verwendet werden, um den Steuerungsfluss eines Programms zu bestimmen.
Es handelt sich nicht um eine Art Technologie oder Programmiersprache, sondern um einen Ansatz, der in der Produktentwicklungsphase implementiert wird. Grundsätzlich trennt es die Ereignisverarbeitungslogik vom Rest des Codes in einem Programm.
Diese Art der Programmierung dient dazu, Ereignisse zu erkennen, sobald sie eintreten, und verwendet ein geeignetes Ereignisbehandlungsverfahren, um sie zu behandeln, normalerweise durch Aufrufen einer Funktion oder Methode..
Theoretisch ist der Stil dieser Programmierung mit allen Programmiersprachen kompatibel, obwohl er sich in der Art und Weise, wie er implementiert wird, unterscheiden kann.
Im Allgemeinen gibt es in einer ereignisgesteuerten Anwendung eine Hauptschleife, die auf neue eingehende Ereignisse „lauscht“ und einen Funktionsaufruf auslöst, wenn sie erkannt werden. Daher konzentriert sich der Betrieb auf Ereignisse und entscheidet, was in welcher Reihenfolge ausgeführt werden soll.
Artikelverzeichnis
Der Programmfluss wird durch Ereignisse angegeben, die Benutzeraktionen, Nachrichten von anderen Programmen usw. sein können, wodurch die Verarbeitungslogik der Ereignisse vom Rest des Codes eines Programms getrennt wird, was im Gegensatz zur Stapelverarbeitung steht.
Die Ereignisse selbst können von der Annahme oder Ablehnung einer Kreditanforderung, die als Ereignis auf hoher Ebene bezeichnet wird, bis hin zum Drücken einer Taste durch einen Benutzer reichen, bei der es sich um ein Ereignis auf niedriger Ebene handelt..
Es wird verwendet, um Programme zu schreiben, die für den Dienst entwickelt wurden, ohne den Computer zu verlangsamen, da die Dienstorientierung nur wenig Rechenleistung verbraucht. Darüber hinaus werden die Dienste im Allgemeinen im Hintergrund des Betriebssystems ausgeführt..
Dies ist eine Bedingung, die während der Ausführung eines Programms auftritt und die eine Aktion des Systems erfordert. Jedes Ereignis ist von Natur aus anders. Bei einigen muss das Programm bestimmte Informationen abrufen und anzeigen, bei anderen müssen einige Berechnungen und Statusänderungen eingeleitet werden..
Zu den Ereignissen gehören Maus, Tastatur, Benutzeroberfläche und Aktionen, die im Programm ausgelöst werden sollen, wenn sie auftreten. Dies bedeutet, dass der Benutzer mit einem Objekt im Programm interagieren muss, z. B. mit einer Maustaste klicken, über die Tastatur eine Schaltfläche auswählen usw..
Es ist eine bestimmte Einheit des Programms, die aktiviert wird, um auf ein Ereignis zu reagieren. Das heißt, es ist eine Art von Funktion oder Methode, die eine bestimmte Aktion ausführt, wenn ein bestimmtes Ereignis ausgelöst wird.
Beispielsweise kann es sich um eine Schaltfläche handeln, die beim Klicken des Benutzers eine Nachricht anzeigt und beim erneuten Klicken auf diese Schaltfläche die Nachricht schließt.
Dies sind Funktionen, die entscheiden, welcher Code ausgeführt werden soll, wenn ein bestimmtes Ereignis auftritt. Wird verwendet, um auszuwählen, welcher Ereignishandler verwendet werden soll, wenn ein Ereignis auftritt.
Es ist ein bestimmter Code, der zu einem bestimmten Zeitpunkt ausgeführt wird. Dies bedeutet, dass es sich um eine voreingestellte Aufgabe handelt.
Das Windows-Update ist ein Beispiel für eine kontrollierte Zeit, in der der Benutzer festlegen kann, wann das Update aktualisiert oder wann das Update überprüft und heruntergeladen werden soll.
Eventorientierte Programme sind weit verbreitet. Zu den bekanntesten Beispielen zählen Textverarbeitung, Zeichenwerkzeuge, Tabellenkalkulationen usw..
Die meisten modernen Nachrichtensysteme folgen ebenfalls dem ereignisgesteuerten Muster, während große Websites skalierbare und ereignisgesteuerte Architekturen verteilter Art verwenden. Andere Beispiele sind:
- Eine Taste wurde gedrückt (Texteditor).
- Ein neuer Aufgabenkalender kann an alle Mitarbeiter verteilt werden (Managementsystem).
- HTML-Nachricht empfangen (Webserver).
- Es wurde ein illegales Handelsmuster festgestellt (Betrugserkennung)..
- Ein Auto in einem Computerspiel kollidiert mit einem anderen Auto (Rennspiel).
- Ein Roboter hat sein Ziel erreicht (Lagerverwaltung in Echtzeit).
Ein praktisches Beispiel für ein Ereignis, das in der ereignisgesteuerten Planung verwendet wird, könnte ein Mitarbeiter sein, der eine Arbeitserlaubnis für ein System beantragt. Wenn dieser Mitarbeiter seine Anfrage stellt, aktiviert er eine Benachrichtigung, die zur Genehmigung an den Manager gesendet wird..
Der Manager kann die Details der Anforderung anzeigen, genehmigen oder ablehnen und sie im System aktualisieren, ohne dass zusätzliche Sitzungen gestartet werden müssen.
Die Aktionen eines Programms, das den Grundlagen der ereignisorientierten Programmierung folgt, werden durch Ereignisse ausgelöst:
- Hardware.
- Geplant.
- Laufzeit.
- Vom Betriebssystem.
- Ausgelöst durch Benutzeranweisungen, die durch Interaktion mit der GUI des Programms gegeben werden.
Im einfachsten Modus müssen Programmierer die folgende Frage beantworten: "Was soll passieren, wenn ein bestimmtes Ereignis eintritt?".
Die folgende Pseudocode-Routine zeigt, wie ein sehr einfacher Scheduler funktionieren kann. Es besteht aus einer Hauptschleife, die kontinuierlich ausgeführt wird, bis eine Beendigungsbedingung auftritt.
Wenn ein Ereignis auftritt, muss der Scheduler den Ereignistyp bestimmen und einen geeigneten Ereignishandler auswählen oder das Ereignis behandeln, wenn kein geeigneter Ereignishandler vorhanden ist.
Aufgrund der Weitergabe von Daten zwischen mehreren Prozessoren und Ereignishandlern.
Dies ist der wichtigste Vorteil der ereignisorientierten Programmierung und verbessert die Benutzererfahrung. Aktuelle Benutzer möchten aktiv teilnehmen und nicht passive Verbraucher bleiben.
Ereignisbasierte Programme helfen Benutzern daher dabei, ihre eigenen Erfahrungen zu navigieren und eine Vielzahl von Optionen ohne voreingestellte Einschränkungen zu erkunden..
Dieser Programmieransatz hat viele Vorteile für alle Beteiligten, da weniger Entscheidungen fest codiert werden müssen als bei herkömmlichen Anwendungen..
Viele Ereignisse werden durch Benutzeraktionen bestimmt, anstatt über eine erweiterte Codierung für alle möglichen Szenarien zu verfügen. Während herkömmliche Anwendungen agieren, reagieren ereignisgesteuerte Anwendungen.
Perfekt geeignet für aktuelle Software-Engineering-Trends wie Cloud Computing, Microservices und die Notwendigkeit einer besseren Skalierbarkeit mit flexiblen und verteilten Systemen.
Beseitigt die Möglichkeit von Einträgen mit ungültigen Werten. Eine herkömmliche Anwendung stellt eine Frage und ermöglicht dem Benutzer die Eingabe einer Antwort. Ereignisgesteuerte Anwendungen bieten normalerweise eine Reihe von Optionen, entweder als Schaltflächen oder als Dropdown-Menüs..
Die Notwendigkeit, vorhandenen Code beim Hinzufügen oder Entfernen von Modulen zu korrigieren und anzupassen, entfällt. Das System funktioniert unabhängig von einer solchen Einstellung weiterhin reibungslos.
Daher eignet sich diese Programmierung für Anwendungen mit Steuerungsabläufen, die auf einer Reihe interner und externer Ereignisse und nicht auf einer Struktur basieren.
Dieser Programmieransatz ist nicht die beste Option für kleine und einfache Anwendungen, da sich die erforderlichen Anstrengungen nicht als sinnvoll erweisen.
Die Entwicklung einer ereignisgesteuerten Anwendung erhöht die Komplexität des Systemdesigns und der Bereitstellung. Dies liegt daran, dass herkömmliche Softwarearchitekturen eher auf anforderungsbasierten Interaktionen als auf ereignisgesteuerten Interaktionen basieren..
Darüber hinaus ist aufgrund der Notwendigkeit unaufhörlich dynamischer Ereignisschleifen ein großer Vorbereitungsaufwand erforderlich..
Es ist zu beachten, dass die ereignisorientierte Programmierung die traditionelle strukturierte Programmierung nicht ersetzt, sondern nur ergänzt.
Herkömmliche Programmiermethoden sind für das Schreiben des Gesamtprogramms nach wie vor unerlässlich, während die ereignisgesteuerten Codierungselemente nur zum Entwerfen der GUI dienen..
Die Flexibilität der ereignisorientierten Programmierung, die ihr unbestrittener Vorteil ist, wird in bestimmten Szenarien ebenfalls zum Betrug. Eine dieser Erscheinungsformen ist die Unvorhersehbarkeit eines ereignisorientierten Programms für den Fall, dass es Änderungen aufweist, und eine schwächere Kontrolle über das System im Allgemeinen..
Obwohl Codierer gerne ereignisgesteuerte Programmierung verwenden, um reibungslose Anpassungen vorzunehmen, z. B. das Entfernen oder Hinzufügen einiger Funktionsmodule, können diese Anpassungen zu unerwarteten Änderungen der Funktionalität führen..
Bei der herkömmlichen Programmierung erkennt das System diese Betriebsanomalien sehr schnell und gibt dem Programmierer einen Bericht über ihre Ursachen. In der ereignisgesteuerten Programmierumgebung ist die Erkennung solcher Fehlfunktionen weniger schnell und einfach.
Da sich die ereignisgesteuerte Programmierung eher als Ansatz als als eine Art Sprache herausstellt, können ereignisbasierte Anwendungen in jeder Programmiersprache erstellt werden..
Die ereignisgesteuerte Programmierung verändert die Welt der Softwareentwicklungsdienste und wird zu einem integralen Bestandteil der heutigen Entwicklung. Die Verbreitung wurde durch Windows und die Verbreitung visueller Umgebungen angeregt.
Ein Fall einer ereignisgesteuerten Situation ähnelt einem Weck-Timer, der für eine bestimmte Aufgabe zu einem bestimmten Zeitpunkt eingestellt ist, z. B. das Klingeln und Kommunizieren von Informationen mit der Aufschrift "Wach auf!"..
Dieser Planungsansatz ist ereignisorientiert. Zu den häufigsten Anwendungsbereichen gehören die Erstellung grafischer Benutzeroberflächen (GUI), Serveranwendungen und die Entwicklung von Multiplayer-Spielen..
Während herkömmliche Programme den Ereignisfluss festlegen und die Kontrolle über Benutzeroptionen haben, diente diese innovativere Programmierung dazu, die GUI zu erstellen.
Die grafische Benutzeroberfläche veränderte die Mensch-Computer-Interaktion, indem sie Benutzern mehrere Optionen in Form von Dropdown-Menüs, Fenstern, Schaltflächen und Kontrollkästchen anbot..
Anstatt der vom Computer festgelegten Reihenfolge der Aktionen zu folgen, können Benutzer daher selbst einen der vielen verfügbaren Befehle auswählen..
Zusätzlich zu dieser Programmierung wird sie häufig in grafischen Benutzeroberflächen angewendet, auch in Anwendungen, die bestimmte Aktionen als Reaktion auf Benutzereingaben ausführen, wie z. B. JavaScript-Webanwendungen..
Bisher hat noch niemand einen Kommentar zu diesem Artikel abgegeben.