我的任务是为我们编写的向客户提出的物流应用编写详细的工程计划.我被告知这是一个数据驱动的应用程序.应用程序"数据驱动"意味着什么?相反的是什么?我似乎无法得到任何非常明确的答案,尽管在网络搜索时我可以看到很多人发布他们自己的例子.任何帮助将不胜感激.
noj*_*ive 89
数据驱动的编程是一种编程模型,其中数据本身控制程序的流程而不是程序逻辑.它是一种模型,您可以通过向程序提供不同的数据集来控制流程,其中程序逻辑是流程或状态变化的一般形式.
例如,如果您的程序有四种状态:UP - DOWN - STOP - START
您可以通过提供表示状态的输入(数据)来控制此程序:
程序代码保持不变,但数据集(不是动态输入类型,但静态地给予计算机)控制流程.
Llo*_*ore 52
虽然关于什么是数据驱动编程有很多想法,但请允许我举一个使用数据结构和函数的例子.
非数据驱动示例:
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
Run Code Online (Sandbox Code Playgroud)
数据驱动示例:
data_lloyd = {'name': 'Lloyd', 'lives': function(){ print("Alcoy, Spain") }
data_jason = {'name': 'Jason', 'lives': function(){ print("London, UK") }
go = function(x)
x.lives()
end
Run Code Online (Sandbox Code Playgroud)
在第一个示例中,显示一个结果或另一个结果的决定是在代码逻辑中.在最后一个示例中,输出由传递给函数的数据确定,因此我们说输出由数据"驱动".
Ric*_*dle 45
"我被告知这是一个数据驱动的应用程序" - 你需要问谁告诉你.
你不想在这里阅读一些看似合理的答案,然后发现你的项目负责人根本不是什么意思.这句话太含糊,没有明确的含义,肯定会适用于你的项目.
Fua*_*DEN 13
数据驱动开发是一种可以通过编辑而不是编码而不是数据结构来改变程序逻辑的东西.
您可以在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;
}
}
Run Code Online (Sandbox Code Playgroud)
数据驱动编程
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]);
}
Run Code Online (Sandbox Code Playgroud)
小智 7
数据驱动应用程序是:
(1)一组接受不同数据集的规则,以对每个特定数据集做出预定决定并将结果抛出
(2)基于结果触发的一些预定过程.
完美的例子是ifttt.com
该应用程序只有规则.它有用的是流经它的数据.
这篇文章最清楚地解释了我理解的这个词的含义:
什么是表驱动和数据驱动编程? http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=31
数据/表驱动编程是将重复的编程结构分解为数据和转换模式的技术。当以这种方式使用时,这种新数据通常被纯粹主义者称为 元数据。