質問
私は仕事で、顧客に提案するためにコーディング中の物流アプリケーションの詳細なエンジニアリング計画を書くという任務を与えられています。これはデータ駆動型のアプリケーションであると聞いています。アプリケーションが「データ駆動型」であるとは何を意味しますか?その反対とは何でしょうか?これについて明確な答えは得られないようですが、Web 検索すると多くの人が独自の例を投稿しているのがわかります。ご協力をいただければ幸いです。
解決
データ駆動型プログラミングは、プログラム ロジックではなくデータ自体がプログラムのフローを制御するプログラミング モデルです。これは、プログラムにさまざまなデータセットを提供することでフローを制御するモデルであり、プログラムロジックはフローまたは状態変化の一般的な形式です。
たとえば、4 つの状態を持つプログラムがあるとします。アップ - ダウン - ストップ - スタート
状態を表す入力 (データ) を提供することで、このプログラムを制御できます。
- セット1:ダウン - ストップ - スタート - ストップ - アップ - ストップ
- セット2:上 - 下 - 上 - 下
プログラム コードは変わりませんが、データ セット (動的入力タイプではなく、コンピューターに静的に与えられる) がフローを制御します。
他のヒント
非データは例を駆動します:
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
最初の例では、1件の結果を表示するための決定または他のコード・ロジックです。 最後の例では、出力は、関数に渡されたデータによって、我々は出力がデータによって「駆動」されたと言う理由で決定されます。
「私はそれは、データ駆動型のアプリケーションであることを告げてきた」 - あなたはそれを言った人は誰でも依頼する必要があります。
。あなたはここにいくつかのもっともらしい答えを読んで、それはあなたのプロジェクトの担当者が何を意味するのか全くないことを知りたくありません。フレーズは間違いなくあなたのプロジェクトに適用される明確な意味を持つことが、あまりにも漠然としています。
データ駆動型開発は、コードではなくデータ構造を編集することにより、プログラムのロジックに変更を加えることができるものです。
データ駆動型プログラミングに関する詳細情報は、次のサイトで見つけることができます。 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
データ/テーブル駆動型プログラミングであります 繰り返し因数分解の手法 プログラミングは、データと、Aに構築します 変換パターン。この新しいデータ 多くの場合、純粋主義者によって参照されます このように使用メタデータでます。
この質問のお手伝いをすることができます仕事で誰もありませんか?あなたが大きい例なしなし作業しているものを可視化することは非常に困難です。しかし、私が集まるものから、彼らが主に情報を入力するプログラムになるだろう。これは、顧客が管理するのに必要な情報を取得し、編集することができます。
運のベスト!!
与えられたアドバイスは悪くないと思いますが、私は常々、データ駆動設計は既存または指定されたデータ構造をドメイン オブジェクトの基盤として使用することを中心に展開していると考えてきました。
たとえば、従来の販売員管理プログラムには、次のようなテーブル構造があります。
- 販売員
- 地域
- お客様
- 製品
したがって、アプリケーションは、「販売」などの処理を行う直接的な API を使用するのではなく、これらのデータ構造の管理を中心とすることになります。
他の回答が示唆しているように、単なる私の意見です;)