Что такое программирование на основе данных?



Мне было поручено написать подробный инженерный план для логистического приложения, которое мы кодируем, чтобы предложить клиенту. Мне сказали, что это приложение, управляемое данными. Что значит для приложения быть "управляемым данными"? А что же наоборот? Я не могу получить какой-либо действительно ясный ответ на это, хотя во время поиска в Интернете я вижу, что многие люди публикуют свои собственные примеры. Любая помощь будет очень признательна.

376   8  

8 ответов:

Data driven progamming-это программная модель, в которой сами данные управляют потоком программы, а не логикой программы. Это модель, в которой вы управляете потоком, предлагая различные наборы данных для программы, Где логика программы является некоторой общей формой потока или изменений состояния.

например, если у вас есть программа, которая имеет четыре состояния: UP-DOWN-STOP-START

вы можете управлять этой программой, предлагая ввод (данные), который представляет государства:

  • set1: DOWN-STOP-START-STOP-UP-STOP
  • set2: UP-DOWN-UP-DOWN

программный код остается тем же, но набор данных (который не имеет динамического типа ввода, но статически задается компьютеру) управляет потоком.

не управляемый данными пример:

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

управляемый данными пример:

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

в первом примере решение показать тот или иной результат находится в логике кода. В последнем примере выход определяется данными, которые передаются в функцию, и по этой причине мы говорим, что выход "движимый" данными.

"Мне сказали, что это приложение, управляемое данными"-вам нужно спросить, кто вам это сказал.

вы не хотите читать какой-то правдоподобный ответ здесь, а затем узнать, что это совсем не то, что имел в виду человек, отвечающий за ваш проект. Эта фраза слишком расплывчата, чтобы иметь однозначное значение, которое, безусловно, относится к вашему проекту.

разработка на основе данных-это то, что можно внести изменения в логика работы программы путем редактирования не кода, а структуры данных.

вы можете найти дополнительную информацию о программировании на основе данных на http://www.faqs.org/docs/artu/ch09s01.html

Процедурное Программирование

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;
    }
}

Программирование На Основе Данных

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]);
}

управляемое данными применение является следующим:

(1) набор правил, принимающих различные наборы данных для принятия предопределенного решения для каждого конкретного набора данных и бросая результат как результат

(2) есть несколько предопределенных процессов, которые запускаются на основе результатов.

идеальный пример ifttt.com

приложение не имеет ничего, кроме правил. Что делает его полезным, так это данные, которые будут проходить через него.

в этой статье наиболее четко объясняется, что я понимаю под этим термином:

Что такое табличное и управляемое данными Программирование? http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=31

Программирование данных/таблиц-управляемое способ факторинга повторяющихся программные конструкции в данных и шаблон преобразования. Эти новые данные часто упоминается пуристами как мета-данных при использовании в этом мода.

нет никого на работе, кто может помочь вам с этим вопросом? Очень трудно визуализировать то, что вы работаете без большого примера. Но из того, что я собираю, это будет программа, в которую они в первую очередь вводят информацию. Это позволит извлекать и редактировать информацию, которой должен управлять клиент.

удачи!!

Я думаю, что данный совет не плох, но я всегда думал, что дизайн, управляемый данными, вращается вокруг использования существующих или заданных структур данных в качестве основы для объектов вашего домена.

например, классическая программа управления продавцом может иметь следующую структуру типов таблиц:

  • продавец
  • края
  • клиенты
  • продукты

Итак, ваше приложение будет центрирована вокруг управления этими структурами данных, вместо того, чтобы принимать прямой API, который делает такие вещи, как - "сделать продажу" и т. д...

просто мое мнение, как и другие ответы, рекомендуем ;)

Comments

    Ничего не найдено.