我的工作是为物流应用编写详细的工程计划,我们正在编写该计划以提议给客户。有人告诉我这是一个数据驱动的应用程序。应用程序是“数据驱动的”是什么意思?恰恰相反?尽管在进行网络搜索时,我看到很多人都在张贴自己的示例,但我似乎对此没有任何明确的答案。任何帮助将不胜感激。
我的工作是为物流应用编写详细的工程计划,我们正在编写该计划以提议给客户。有人告诉我这是一个数据驱动的应用程序。应用程序是“数据驱动的”是什么意思?恰恰相反?尽管在进行网络搜索时,我看到很多人都在张贴自己的示例,但我似乎对此没有任何明确的答案。任何帮助将不胜感激。
Answers:
数据驱动编程是一种编程模型,其中数据本身控制程序的流程,而不是程序逻辑。它是一个模型,您可以通过向程序提供不同的数据集来控制流程,其中程序逻辑是流程或状态更改的某种通用形式。
例如,如果您的程序具有四个状态:上-下-停止-开始
您可以通过提供表示状态的输入(数据)来控制此程序:
程序代码保持不变,但是数据集(不是动态输入类型,而是静态地提供给计算机)控制流。
尽管关于什么是数据驱动的编程有很多想法,但让我举一个使用数据结构和函数的示例。
非数据驱动示例:
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]);
}
本文最清楚地解释了我所理解的含义:
什么是表驱动和数据驱动编程? http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=31
数据/表驱动编程是将重复编程构造分解为数据和转换模式的技术。当以这种方式使用时,纯粹主义者通常将此新数据称为 元数据。