O que é programação orientada a dados?
-
21-08-2019 - |
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.
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;)