Pergunta

Eu fui encarregado no trabalho de escrever um plano de engenharia detalhada para um aplicativo de logística que estamos codificação para propor a um cliente. Foi-me dito que é um aplicativo orientado a dados. O que significa para uma aplicação a ser "data-driven"? Qual é o oposto? Eu não consigo obter qualquer resposta muito clara para este embora enquanto web à procura Eu posso ver muitas pessoas postando seus próprios exemplos. Qualquer ajuda seria muito apreciada.

Foi útil?

Solução

Os dados programação orientada é um modelo de programação onde os dados em si controla o fluxo do programa e não a lógica do programa. É um modelo onde você controla o fluxo, oferecendo diferentes conjuntos de dados para o programa onde a lógica do programa é uma forma genérica de fluxo ou do estado-alterações.

Por exemplo, se você tem programa que tem quatro estados: UP - DOWN - STOP - INÍCIO

Você pode controlar este programa, oferecendo entrada (de dados) que representa os estados:

  • set1: DOWN - STOP - Iniciar - Parar - UP - PARAR
  • set2: UP - DOWN - UP - BAIXO

As estadias código do programa o mesmo, mas dados do conjunto (que não é de um tipo de entrada dinâmica, mas estaticamente dadas ao computador) controla o fluxo.

Outras dicas

Apesar de existirem mais do que algumas idéias sobre o que os dados impulsionado programação é, permita-me dar um exemplo usando uma estrutura de dados e uma função.

dados não Orientados a Exemplos:

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

Os dados exemplo conduzido:

data_lloyd = {'name': 'Lloyd', 'lives': function(){ print("Alcoy, Spain") }
data_jason = {'name': 'Jason', 'lives': function(){ print("London, UK") }
go = function(x)
    x.lives()
end

No primeiro exemplo a decisão de mostrar um resultado ou o outro é na lógica do código. No último exemplo, a saída é determinada pelos dados que são passados ??para a função e por essa razão que dizemos a saída é 'movida' pelo de dados.

"Foi-me dito que é um aplicativo orientado a dados." - você precisa perguntar a quem quer que disse que

Você não quer ler alguma resposta plausível aqui e depois descobrir que não é de todo o que a pessoa encarregada do seu projeto significava. A frase é demasiado vago para ter um significado inequívoco que vai certamente se aplicam ao seu projeto.

desenvolvimento dirigido dados é algo que se pode fazer alterações no lógica do programa editando não o código, mas a estrutura de dados.

Você pode encontrar mais informações sobre programação orientada a dados sobre http: //www.faqs .org / docs / artu / ch09s01.html

Programação Procedural

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;
    }
}

Data programação orientada

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]);
}

aplicativo orientado de dados é:

(1) um conjunto de regras que aceitam diferentes conjuntos de dados para tomar uma decisão predeterminada para cada conjunto de dados específico e jogando resultado como resultado

(2) alguns processos predeterminados que são acionados com base no resultado.

Perfect exemplo é ifttt.com

A aplicação não tem nada mas as regras. O que o torna útil é os dados que fluirão através dele.

Este artigo explica mais claramente o que eu entendo o termo para significar:

O que é baseada em tabela e Programação Data-Driven? http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=31

Os dados de programação / mesa-driven é o técnica de repetitivo factoring programação construções em dados e uma padrão de transformação. Os novos dados é muitas vezes referido pelos puristas como meta-dados quando utilizado desta forma.

Não há ninguém no trabalho que podem ajudá-lo com esta questão? É muito difícil de visualizar o que você está trabalhando sem sem um exemplo maior. Mas pelo que percebo que vai ser um programa que eles entram principalmente informações em. Que será capaz de recuperar e editar informações de que as necessidades dos clientes de gerenciar.

Boa sorte !!

Eu acho que o conselho dado não é ruim, mas eu sempre pensei gira Projeto Data Driven em torno de usar estruturas de dados existentes ou dadas como base para seus objetos de domínio.

Por exemplo, o programa de gestão de vendedor clássico pode ter a seguinte estrutura tipo de tabelas:

  • Vendedor
  • Região
  • Clientes
  • Produtos

Assim, sua aplicação seria centrada em torno de gerir essas estruturas de dados, em vez de tomar uma API reta que faz coisas como - "make venda" etc ...

Apenas a minha opinião como as outras respostas sugerem;)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top