Подтвердить что ты не робот

Что такое программирование, управляемое данными?

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

4b9b3361

Ответ 1

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

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

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

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

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

Ответ 2

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

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

Ответ 3

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

Пример без данных:

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

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

Ответ 4

Приложение, управляемое данными:

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

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

Прекрасным примером является ifttt.com

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

Ответ 5

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

Вы можете найти дополнительную информацию о программировании, основанном на данных, на 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]);
}

Ответ 6

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

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

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

Ответ 7

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

Желаем удачи!!

Ответ 8

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

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

  • Продавец
  • Регион
  • Клиенты
  • Продукты

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

Только мое мнение, как говорят другие ответы;)