Aufbau ereignisbasierter Frameworks

Die wichtigsten Aspekte des Frameworks sind seine Flexibilität und Erweiterbarkeit, da diese den Software-Entwicklern die Einhaltung von Geschäftsregeln ermöglichen.

Im folgenden Artikel zeigen wir Ihnen den Aufbau eines fein abgestimmten ereignisbasierten Frameworks für Anwendungen.

Das bietet Framework blockierende und nicht-blockierende Ereignis-Meldungen, wobei Ereignisse anhand logischer Bedingungen übergeben werden, die im Folgenden als Prädikate bezeichnet werden. Beide Vorgänge sind für den Entwickler transparent und werden je nach Verhalten des Ereignisempfängers ausgewählt. In diesem Artikel werden verschiedene Beispiele für Meldungen erörtert, außerdem wird gezeigt, wie man mithilfe eines Frameworks Ereignis-basierte Anwendungen schneller erstellen kann.

Der Code als Download: Der gesamte Quellcode zu diesem Artikel.

Meldungsarten

Blockierende bzw. synchrone Meldungen werden verwendet, wenn ein Ereignisempfänger ein Prädikat erfüllen muss, das seinen Ausführungs-Thread blockiert. Wenn das Prädikat erfüllt wurde, wird der Thread fortgesetzt. Auf diese Weise kann eine zeitliche Abfolge von Abläufen in eine Reihenfolge gebracht werden. Nicht-blockierende bzw. asynchrone Meldungen ähneln dem standardmäßigen Ereignisempfänger-Paradigma, das eine Registrierung der Empfänger für ein Ereignis vorsieht, wobei diese bei dessen Auftreten benachrichtigt werden. Hierbei werden die Empfänger jedoch nur dann benachrichtigt, wenn ein Ereignis ein Prädikat erfüllt, für das die Empfänger registriert sind. Ein Prädikat kann eine einfache oder eine komplexe logische Bedingung darstellen, zum Beispiel kann es von den Resultaten eines anderen Ereignisses abhängen.

Themenseiten: Anwendungsentwicklung, Software

Fanden Sie diesen Artikel nützlich?
Content Loading ...
Whitepaper

Artikel empfehlen:

Neueste Kommentare 

Noch keine Kommentare zu Aufbau ereignisbasierter Frameworks

Kommentar hinzufügen

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *