Frage

Ich habe bei der Arbeit zu schreiben, einen detaillierten technischen Plan für eine Logistikanwendung beauftragt, die wir an einem Kunden vorzuschlagen codieren. Mir wurde gesagt, dass es sich um eine datengesteuerte Anwendung. Was bedeutet es für eine Anwendung bedeutet „data-driven“ zu sein? Was ist das Gegenteil? Ich kann keine wirklich klare Antwort für diese zu bekommen scheinen, obwohl während Web-Suche ich viele Menschen sehen ihre eigenen Beispiele veröffentlichen. Jede Hilfe wäre sehr geschätzt.

War es hilfreich?

Lösung

Datengetriebenes Programme ist ein Programmiermodell, in dem die Daten selbst den Ablauf des Programms steuert und nicht die Programmlogik. Es ist ein Modell, in dem Sie den Fluss steuern, indem verschiedene Datensätze in das Programm anbietet, wo die Programmlogik einige generische Form von Fluss oder staatlich Veränderungen.

Wenn Sie zum Beispiel Programm, das vier Zustände hat: AUF - AB - STOPP - START

Sie können dieses Programm steuern, indem sie Eingang (Daten), die die Zustände darstellt:

  • set1: AB - STOPP - START - STOPP - AUF - STOPP
  • set2: AUF - AB - AUF - AB

Der Programmcode bleibt gleich, aber die Daten eingestellt (was nicht von einem dynamischen Eingangstyp ist, aber statisch an den Computer gegeben) steuert den Fluss.

Andere Tipps

Auch wenn es mehr als ein paar Ideen, welche Daten gesteuerte Programmierung ist, lassen Sie mich ein Beispiel geben eine Datenstruktur und eine Funktion.

Nicht data driven Beispiel:

data_lloyd = {'name': 'Lloyd', 'lives': 'Alcoy }
data_jason = {'name': 'Jason', 'lives': 'London' }
go = function(x) 
    if x.name == 'Lloyd' 
    then 
        print("Alcoy, Spain") 
    else 
        print("London, UK") 
end

Datengetriebenes Beispiel:

data_lloyd = {'name': 'Lloyd', 'lives': function(){ print("Alcoy, Spain") }
data_jason = {'name': 'Jason', 'lives': function(){ print("London, UK") }
go = function(x)
    x.lives()
end

Im ersten Beispiel die Entscheidung, ein Ergebnis zu zeigen, oder die anderes ist in der Code-Logik. Im letzten Beispiel wird die Ausgabe durch die Daten bestimmt, das die Funktion und aus diesem Grunde übergeben wird sagen, dass wir die Ausgabe ‚‘ angetrieben durch die Daten.

„Ich habe gesagt, dass es sich um eine datengesteuerte Anwendung ist.“ - Sie müssen fragen, wer Ihnen gesagt, dass

Sie wollen nicht einige plausible Antwort hier lesen und dann herausfinden, dass es überhaupt nicht das, was die Person, die für Ihr Projekt gedacht. Die Formulierung ist zu vage einen eindeutigen Sinn zu haben, die auf jeden Fall zu einem Projekt gelten.

  

Datengetriebene Entwicklung ist etwas, das man Änderungen an den machen kann   Logik des Programms durch den Code nicht bearbeite, aber die Datenstruktur.

Sie können mehr Informationen über datengesteuerte Programmierung auf http: //www.faqs .org / docs / artu / ch09s01.html

prozeduralen Programmierung

var data = { 
            {do:'add',arg:{1,2}},
            {do:'subtract',arg:{3,2}},
            {do:'multiply',arg:{5,7}},
            };

foreach(var item in data){  
    switch(item.do){
        case 'add':
            console.log(item.arg[0] + item.arg[1]);
        break;
        case 'subtract':
            console.log(item.arg[0] - item.arg[1]);
        break;
        case 'multiply':
            console.log(item.arg[0] * item.arg[1]);
        break;
    }
}

Data Driven Programming

var data = { 
            {do:'+',arg:{1,2}},
            {do:'-',arg:{3,2}},
            {do:'*',arg:{5,7}},
            };

foreach(var item in data){      
    console.log(eval (item.arg[0] + item.do + item.arg[1]);
}

Daten getriebene Anwendung ist:

(1) ein Satz von Regeln unterschiedliche Daten Annahme legt eine vorbestimmte Entscheidung für jeden spezifischen Datensatzes zu machen und werfen Ergebnis als Ergebnis

(2) ein paar vorgegebenen Prozesse, die basierend auf dem Ergebnis ausgelöst werden.

Perfect Beispiel ist ifttt.com

Die Anwendung hat nichts als Regeln. Was es sinnvoll macht, ist die Daten, die durch sie fließt.

Dieser Artikel erklärt, am deutlichsten, was ich den Begriff zu verstehen, verstehen:

Was ist Tabellengesteuerte und Data Driven Development? http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=31

  

Daten / Tabellengesteuerte Programmierung ist die   Technik des Factoring repetitious   Programmierkonstrukte in Daten und eine   Transformationsmuster. Diese neuen Daten   wird oft von Puristen bezeichnet als    Meta-Daten , wenn sie in dieser Weise verwendet wird.

Es ist niemand bei der Arbeit, die Sie mit dieser Frage helfen kann? Es ist sehr schwer zu visualisieren, was Sie arbeiten, ohne auf ein besseres Beispiel. Aber von dem, was ich sammle, es wird ein Programm sein, dass sie in erster Linie Informationen in Kraft. Das wird in der Lage sein, abzurufen und bearbeiten, um Informationen, die der Kunde verwalten muss.

Viel Glück !!

Ich denke, die gegebene Rat ist nicht schlecht, aber ich habe immer gedacht, der Daten Driven Design dreht sich um bestehende oder gegebene Datenstrukturen als Grundlage verwenden für Ihre Domain-Objekte.

Zum Beispiel das klassische Verkäufer-Management-Programm könnte die folgende Art Struktur von Tabellen haben:

  • Verkäufer
  • Region
  • Kunden
  • Produkte

So würde Ihre Anwendung um die Verwaltung dieser Datenstrukturen zentriert werden, anstatt eine gerade API zu nehmen, die Dinge wie tut - „machen Verkauf“ etc ...

Nur meine Meinung als die anderen Antworten vorschlagen;)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top