Me han encargado en el trabajo que escriba un plan de ingeniería detallado para una aplicación de logística que estamos codificando para proponerle a un cliente. Me han dicho que es una aplicación basada en datos. ¿Qué significa para una aplicación ser "impulsada por datos"? ¿Cual es lo opuesto? Parece que no puedo obtener una respuesta clara para esto, aunque mientras busco en la web puedo ver a muchas personas publicando sus propios ejemplos. Cualquier ayuda sería muy apreciada.¿Qué es la programación basada en datos?
Respuesta
basadas en datos es un modelo de programación, donde los datos en sí controla el flujo del programa y no el lógica de programa. Es un modelo donde se controla el flujo al ofrecer diferentes conjuntos de datos para el programa donde la lógica del programa es una forma genérica de flujo o de cambios de estado.
Por ejemplo, si tiene programa que tiene cuatro estados: ARRIBA - ABAJO - PARADA - START
Puede controlar este programa ofreciendo de entrada (datos) que representa los estados:
- set1: ABAJO - PARADA - START - STOP - UP - STOP
- set2: ARRIBA - ABAJO - ARRIBA - ABAJO
el código del programa sigue siendo el mismo, pero conjunto de datos (que no es de una entrada dinámica tipo, pero estático para la computadora) controla el flujo.
La parte de programación es escribir/definir el " forma genérica de flujo o de cambios de estado ", ¿estoy en lo cierto? Pero puedo escribir esa" máquina "en cualquier idioma, y no hay nada inusual en eso, así que realmente no entiendo nada de tu respuesta. Tal vez la programación basada en datos se produce cuando el lenguaje en sí o una biblioteca alienta o hace que sea muy fácil escribir tales máquinas. O tal vez la definición es que el lenguaje/biblioteca permite definir las máquinas de manera declarativa, es decir, no de procedimiento. –
En https://en.wikipedia.org/wiki/Data-driven_programming, usan AWK como ejemplo. En AWK se proporcionan dos cosas, una expresión que define qué hacer con los datos y los datos en sí. ¿Cuál es la expresión que define qué pasar se considera que es: 1) la programación, o 2) datos. Si se consideran datos, entonces la programación es la propia máquina de AWK, que por supuesto en el ejemplo de AWK es estática. Pero en otros contextos, por ejemplo, si escribir la máquina en sí de alguna manera tradicional de procedimiento, eso solo es la parte de programación. –
"Me han dicho que se trata de una aplicación basada en datos": debe preguntarle a quien le haya dicho eso.
No desea leer alguna respuesta plausible aquí y luego descubrir que no es para nada lo que la persona a cargo de su proyecto significó. La frase es demasiado vaga para tener un significado inequívoco que definitivamente se aplicará a su proyecto.
Entiendo lo que quiere decir Richie, y ese es un buen punto. Sin embargo, me preguntaba si la "programación basada en datos" era algún tipo de término concretamente reconocido por la industria del desarrollo de software. No responderé de aquí. simplemente al valor nominal aquí sin consultar con mi jefe. -Gracias :) – jtbradle
Claro, estuvo en lo correcto al preguntar aquí. Pero creo que la respuesta es que no hay una definición universalmente aceptada. – RichieHindle
¿No hay nadie en el trabajo que pueda ayudarlo con esta pregunta? Es muy difícil visualizar lo que está trabajando sin un mayor ejemplo. Pero por lo que veo, va a ser un programa en el que principalmente ingresen información. Eso podrá recuperar y editar la información que el cliente necesita para administrar.
Best of luck !!
Creo que los consejos dados no son malos, pero siempre he pensado que Data Driven Design gira en torno al uso de estructuras de datos existentes o dadas como base para los objetos de tu dominio.
Por ejemplo, el programa de gestión clásico vendedor podría tener la siguiente estructura de tipo de tablas:
- Vendedor
- Región
- clientes
- productos
lo tanto, su aplicación se centraría en la gestión de estas estructuras de datos, en lugar de tomar una API recta que haga ES cosas como - "hacer la venta", etc ...
sólo mi opinión que las otras respuestas sugieren; programación)
En este artículo se explica con mayor claridad lo que tengo entendido el término en el sentido de:
¿Cuál es basada en tablas y programación basada en datos? http://www.paragoncorporation.com/ArticleDetail.aspx?ArticleID=31
datos de programación/Tabla-Driven es la técnica de factorizar repetitivo programación construye en datos y un patrón transformación. Estos nuevos datos a menudo se denominan puristas como meta-data cuando se utilizan de esta manera.
Aunque hay más que unas pocas ideas sobre qué es la programación basada en datos, permítame dar un ejemplo usando una estructura de datos y una función.
datos de ejemplo para no accionadas:
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
datos de ejemplo: impulsado
data_lloyd = {'name': 'Lloyd', 'lives': function(){ print("Alcoy, Spain") }
data_jason = {'name': 'Jason', 'lives': function(){ print("London, UK") }
go = function(x)
x.lives()
end
En el primer ejemplo, la decisión de mostrar un resultado o el otro está en la lógica del código. En el último ejemplo, la salida está determinada por los datos que se pasan a la función y por eso decimos que la salida es 'impulsada' por los datos.
de datos impulsada aplicación es:
(1) un conjunto de reglas que aceptan diferentes conjuntos de datos para tomar una decisión predeterminada para cada dato específicos establecidos y lanzando resultado como consecuencia
(2) unos procesos predeterminados que se activan en función del resultado.
ejemplo perfecto es ifttt.com
La aplicación no tiene nada pero las reglas. Lo que lo hace útil es la información que fluirá a través de él.
de datos de desarrollo impulsado es algo que uno puede hacer cambios en el lógica del programa mediante la edición no el código, pero la estructura de datos.
Usted puede encontrar más información acerca de la programación basada en datos de http://www.faqs.org/docs/artu/ch09s01.html
programación de procedimiento
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;
}
}
de datos orientado a programación
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. ¿Qué es exactamente "programación basada en interfaz"?
- 2. ¿Qué es la programación orientada a datos?
- 3. Programación basada en eventos vs programación secuencial
- 4. ¿Qué es la autenticación basada en token?
- 5. ¿Qué es la programación lineal?
- 6. ¿Qué es la "finalización de código basada en la introspección"?
- 7. ¿Por qué es buena la programación funcional?
- 8. ¿Cuál es la diferencia entre una base de datos basada en archivos y una base de datos basada en servidor?
- 9. interfaz de usuario basada en la programación funcional
- 10. RBAR vs programación basada Conjunto para SQL
- 11. ¿Por qué la entrada basada en [Char] es mucho más lenta que la salida basada en [Char] en Haskell?
- 12. ¿Qué es la programación de escopeta/vudú?
- 13. ¿Qué es la programación orientada a aspectos?
- 14. ¿La programación en paralelo es == programación multiproceso?
- 15. ¿La programación simultánea es igual a la programación en paralelo?
- 16. ¿Qué es zip (programación funcional?)
- 17. ¿Qué es una buena cuadrícula basada en web que acepta datos del Portapapeles de Excel?
- 18. ¿Qué es un objeto "serializado" en la programación?
- 19. ¿Qué es la programación orientada a componentes en Java?
- 20. En las publicaciones de trabajo, ¿Qué es la programación .NET?
- 21. ¿Qué es un estilo sin puntos en la programación funcional?
- 22. Autorización basada en datos en ASP.NET
- 23. ¿Qué significa "envoltura" en la programación?
- 24. ¿Qué es Ingeniería de Software Basada en Evidencia?
- 25. ¿Por qué es esta consulta basada gama mucho más rápido
- 26. Prueba de DUnit basada en datos
- 27. ¿Qué biblioteca puedo usar para implementar programación basada en eventos en Python?
- 28. CakePHP - configuración de base de datos basada en la URL
- 29. Facturación basada en la suscripción
- 30. Uso de Datos Básicos de almacenamiento - en la navegación basada y aplicación basada en la ventana - iPhone
Prácticamente todas mundo real pr la programación está basada en datos. –
El clásico * El arte de la programación Unix * tiene una buena discusión sobre este tema: http://homepage.cs.uri.edu/~thenry/resources/unix_art/ch09s01.html. Cita clave: "En la programación basada en datos, los datos no son simplemente el estado de algún objeto, sino que ** definen el flujo de control del programa **.Donde la principal preocupación en OO es la encapsulación, la principal preocupación en la programación basada en datos es ** escribir el código mínimo posible **. " – FMc
La respuesta de FMc es para mí la explicación más convincente, y debería ser una respuesta, pero elaborada –