私は、顧客に提案するためにコーディングしているロジスティクスアプリケーションの詳細なエンジニアリング計画を作成する仕事を任されています。データ駆動型のアプリケーションだと言われています。アプリケーションが「データ駆動型」であるとはどういう意味ですか?反対は何ですか?ウェブ検索中に多くの人が自分の例を投稿しているのを見ることができますが、私はこれについて本当に明確な答えを得ることができないようです。どんな助けでも大歓迎です。
私は、顧客に提案するためにコーディングしているロジスティクスアプリケーションの詳細なエンジニアリング計画を作成する仕事を任されています。データ駆動型のアプリケーションだと言われています。アプリケーションが「データ駆動型」であるとはどういう意味ですか?反対は何ですか?ウェブ検索中に多くの人が自分の例を投稿しているのを見ることができますが、私はこれについて本当に明確な答えを得ることができないようです。どんな助けでも大歓迎です。
回答:
データ駆動型プログラミングは、データ自体がプログラムロジックではなく、プログラムのフローを制御するプログラミングモデルです。これは、プログラムロジックがフローまたは状態変化の一般的な形式であるプログラムにさまざまなデータセットを提供することによってフローを制御するモデルです。
たとえば、次の4つの状態を持つプログラムがある場合:UP-DOWN-STOP-START
状態を表す入力(データ)を提供することにより、このプログラムを制御できます。
プログラムコードは同じままですが、データセット(動的入力タイプではなく、コンピューターに静的に与えられる)がフローを制御します。
データ駆動プログラミングとは何かについてはいくつかのアイデアがありますが、データ構造と関数を使用した例を挙げましょう。
非データ駆動型の例:
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
データ/テーブル駆動型プログラミングは、反復的なプログラミング構造をデータと変換パターンにファクタリングする手法です。この新しいデータは、この方法で使用される場合、純粋主義者によってメタデータと呼ばれることがよくあり ます。