2017-02-11 14 views
0

Ich hörte die Begriffe Data Driven und Event Driven Modell von verschiedenen Leuten in der Vergangenheit. Ich habe Google aber diese Begriffe sind mir noch vage, da beide von ihnen zu mir ähnlich siehtData Driven vs Event Driven Modell/Architektur?

Daten gesteuerte Programmierung ist ein Programmiermodell, in dem die Daten selbst den Ablauf des Programms steuert (nicht die Programmlogik), in dem im Fall von Ereignisgesteuerte Programmierung, es ist das Ereignis nicht die Daten selbst steuert den Ablauf des Programms.

Pro mein Verständnis Ereignis ist auch die Daten. Zum Beispiel in einer Mitarbeiter basierten Webanwendung - Wenn der Benutzer auf die Schaltfläche Mitarbeiter erstellen klickt, ist hier Ereignis Mitarbeiter erstellen (was auch nur eine Art von Daten ist) und Daten sind mitarbeiterbezogene Informationen.

Jetzt am Server zuerst wird es Ereignis sein, das entscheiden wird, was Fluss des Programms sein wird und dann Daten (mitarbeiterbezogene Informationen) wird auch den Fluss der Ausführung steuern, wenn dauerhafte Mitarbeiter unterschiedliche Methode ausgeführt wird und wenn vorübergehend wird anders sein

Also ist nicht alles eine datengesteuerte Architektur? Wenn nein, was ist der Unterschied zwischen ihnen? Jedes Web-basiertes Beispiel wird helfen,

Antwort

0

Daten selbst den Ablauf des Programms steuern (nicht die Programmlogik)

Ich denke, Sie sind nicht vollständig verstehen, was ist „Flow“ in diesem Zusammenhang. Der Fluss ist Logik selbst. Wenn Sie zum Beispiel eine Methode ausführen, die A, dann B und dann C zu ihren Argumenten ausführt, wäre die Logik "Apply A, B, C" und der Ablauf wäre derselbe, wenn die Aktionen A, B, C extrahiert werden Methoden. Fluss und Logik sind also Synonyme.

Datengesteuerte Programmierung bedeutet, dass einige allgemeine Code existiert. Es enthält keine Geschäftslogik, es steuert den Fluss nicht. Es ist nur ein Werkzeug zum Lesen und Verarbeiten von Daten und Ausgabe von Ergebnissen. Was Fluss und Logik steuert, sind Daten selbst. Wenn Sie also die Geschäftslogik ändern wollen (wörtlich das Ergebnis Ihres Programms ändern), ändern Sie die Daten, nicht den Code.
Und Ihr Code ist, nun, es ist eine Art Pipeline, die Befehle abhängig von Eingabedaten ausführt. Sie können sich solchen Code als eval Funktion in Javascript vorstellen.

In Ereignisgesteuerte Programmierung Logik wird durch Ereignisse gesteuert. Und das bedeutet, dass Daten nur Daten sind und alle Geschäftsregeln im Code stehen. Ereignis würde einige Daten tragen, und Logik könnte abhängig von den Daten des Ereignisses geändert werden, aber der Unterschied hier ist, wo diese ändernden Logikregeln gesetzt werden - in Daten oder in Code; und im Falle von EDP ist die Logik im Code.

Werfen Sie auch einen Blick auf this Frage, einige Antworten könnten etwas Licht auf das Thema werfen.