Ir al contenido


Foto

Es buena idea prescindir de data modules?


  • Por favor identifícate para responder
8 respuestas en este tema

#1 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 28 mayo 2018 - 02:29

En cuanto a lo que son data-aware de bases de datos y reportes, más precisamente.

Resulta que me encuentro en una situación que son muchos los archivos en el proyecto, por cada formulario hago un data module, además a la hora de escribir el código me resulta pesado interponer el datamodule por ej,: DMCuentas.ZQCuentas.Open. Y como ya le pesqué la vuelta a como hacer por código, me resulta simplemente mejor.

Las pruebas que hice me funcionan perfecto y mi principal duda es si luego no me arrepentiré? Si hay algo que no estoy viendo en la necesidad de utilizar los data modules.

 

No sé si se entiende *-)

 

Creo que la mayoría por aquí no dedicamos a sistemas de gestión y me gustaría saber como lo manejan ustedes que me llevan años de experiencia.

 

Saludos,

Gastón.


  • 0

#2 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 28 mayo 2018 - 06:09

Si no usas datamodule, te verás forzado a utilizar muchos componentes de conección por todos lados, ¿un data module por formulario?, ¡hostia!, con un sólo data module y una conección o varias basta y sobra para todos los formularios de la aplicación.


  • 0

#3 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 28 mayo 2018 - 06:36

 

Si no usas datamodule, te verás forzado a utilizar muchos componentes de conección por todos lados, ¿un data module por formulario?, ¡hostia!, con un sólo data module y una conección o varias basta y sobra para todos los formularios de la aplicación.

 

Cierto, esa es una contra indiscutible, de hecho así empecé, una DM para todo, pero se fue sobrecargando tanto que decidí ir separándolos en uno por Form pero al tratarse de un proyecto un tanto grande, bueno, como dije antes muchos .pas...

Es un programa de gestión (contabilidad, compras, sotck, tesorería, y un largo etc.).

 

A lo que voy es, siendo más preciso quizás, me siento cómodo (al menos hasta ahora) programando sin data modules, puedo seguir así o en algún momento necesitaré irremediablemente de los data modules, alguna funcionalidad que me pierda haciendo todo "a mano"?

 

Aclaración: no pienso barrer con todos los DM, algunos se justifican, pero sí con la mayoría.

 

Saludos,

Gastón.


  • 0

#4 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 28 mayo 2018 - 07:02

Fíjate, lo que he hecho hasta ahora y que me ha funcionado bien, es, un sólo data module para la conección, transacciones y variables globales, en cada form utilizo los datasets necesarios que se utilizará ese formulario, en un formulario normal tipo ABM (CRUD) habría tres datasets, ZInsertar, ZUpdate y ZBorrar, todos conectados al datamodule, en un formulario de catalogos lo normal sólo habría un sólo dataset que liste la información y así sucesivamente, un datamodule por cada form haría que la aplicación aumentase de tamaño.

 

Saludos.


  • 0

#5 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 28 mayo 2018 - 07:59

Buenas noches,

En cuestiones de diseño, necesidades, y un montón de factores más se rompen moldes.

No esperes LA respuesta definitiva.

¿El TDataModule resuelve por si mismo todos los males? NO.

¿No usar TDataModule es malo? NO necesariamente.

¿Usar 100 TDtaModule hace, necesariamente, un sistema más complicado? Puede que NO.... puede que SI.

 

Hay una enorme zona gris.

Dependerá de las situaciones o contextos, deberás encontrar tus razones técnicos-operativas, tus necesidades, y sopesar con las fortalezas y debilidades de cada una. Lo importante es que logres encontrarte en un equilibrio cómodo, o que al menos te sientas más seguro.

 

Habrá momentos en los que quizá no se justifique usar TDataModule como también van a aparecer situaciones en los que se justifica organizar la estructura del sistema en varios TDataModule (quizá, y muy probablemente, basado en los diferentes módulos) más uno central que diriga los aspectos comunes. Esta pregunta te las vas a hacer hoy, y mañana.

Es bueno y sano hacerse esta pregunta. Lo que no está permitido es no hacer nada por responderse. O cambiar constantemente los lineamientos en un sistema.

 

Es preferible tomarse un buen tiempo en hacer un buen A+D que perderlo en despegar los espaguettis que solemos cometer por pretender avanzar rápido y luego ver como unir las cosas.

Lo fundamental es sentirse cómodo y seguro con lo definido y elegido. Eso es lo que más lleva tiempo.

 

Se que posiblemente esta no sea la respuesta que esperabas, pero bueno. Has entrado justo en la "zona artística" del software. Y en cuestiones de "arte" no se puede juzgar demasiado. Bienvenido a esa zona. Eso quiere decir que estás madurando, y avanzando de nivel. Peor sería que no te lo preguntases y que siguieras estancado haciendo la misma receta siempre.

¡Encuentra tu arte!

 

Saludos,


  • 0

#6 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 28 mayo 2018 - 10:28

Enecumene: eso no se me había ocurrido, no sé por qué pensaba que todos los componentes debían estar juntos, he ahí un motivo por el cual sobrecargaba el data module, es decir, si la conexión estaba en el DM entonces los datasets debían estar ahí también. Eso cambia bastante mi panorama, más aún teniendo en cuenta que para un típico (y muy sencillo) ABM utilizo un solo dataset, con Zeos y SQLite funciona bien.

 

Delphius: diste en la tecla, estaba usando todo correctamente (mis programas en funcionamiento no están  fallando) pero había cosas respecto de los data aware, clases e instanciaciones y métodos que no terminaba de entender como demonios funcionaban, de golpe, hace un par de días, no me preguntes cómo, entendí todo (no todo literalmente) y por eso me puse a "jugar" y oh sorpresa funciona, hasta me animé con LazReport definiéndolo o creándolo a mano y también tuve éxito. Creo que ese famoso "click" es una experiencia normal, al menos para "esos seres raros" que somos los programadores.

El tema de tomarse un buen tiempo para A+D es lo ideal, pero a veces te piden las cosas para ayer y otras veces la ansiedad, me gana.

 

Se que posiblemente esta no sea la respuesta que esperabas,

Solo en eso no estoy de acuerdo ;)

 

Leo atentamente todas las respuestas, a veces más de una vez, y agradezco y valoro el tiempo que se toman simplemente para dar una mano.

 

Muchas gracias,

Gastón.


  • 0

#7 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 29 mayo 2018 - 07:22

Me alegro de haberte de ayudado en algo.

 

A lo que apunto cuando digo que tal vez no sea la respuesta que esperas es que puede que no exista una única manera (y correcta) de responderlo.

Muchos vienen con la idea de que existe una respuesta correcta. Una receta.

Otros vienen buscando una opinión que les reafirmarse en su postura.

Y después otros vienen esperando una gran ayuda porque se siente perdidos.

 

Y yo por el otro lado, yo no suelo ser del tipo de persona que te tira el centro y te la deja justo en la cabeza para que apuntes al arco y anotes. Yo más bien suelo tirar respuestas que inviten a que desarrollen sus jugadas. Por eso digo que quizá no sea la típica respuesta que uno se espera. En StackOverflow esta pregunta ya hubiera sido cerrada y mi respuesta rankeada con muchos votos negativos, justamente por ser una pregunta y respuesta ambigua, y en la que no existe una "solución".

 

El tema de los TDataModule es una historia sin fin. No eres el primero en preguntarselo, ni serás el último. Incluso si sigues analizando las cosas vas a llegar al planteo de si usar data-ware o prescrindir de ellos. En algunos hilos hemos debatido sobre estos temas. Si te interesa realiza unas búsquedas en el foro.

Te invito a que sigas desarrollando ese poder de "investigador".

 

Saludos,


  • 0

#8 Gaston

Gaston

    Advanced Member

  • Miembros
  • PipPipPip
  • 109 mensajes

Escrito 29 mayo 2018 - 08:45

 

Otros vienen buscando una opinión que les reafirmarse en su postura.

Hola Delphius, exacto, opiniones, experiencias, gustos, saber más o menos donde estoy parado.

 

 

En StackOverflow esta pregunta ya hubiera sido cerrada y mi respuesta rankeada con muchos votos negativos

:D

 

 

vas a llegar al planteo de si usar data-ware o prescrindir de ellos

En eso ando estimado, parece que me lees la mente... o ya habrán pasado varios con las mismas inquietudes.

 

 

Si te interesa realiza unas búsquedas en el foro.

Te invito a que sigas desarrollando ese poder de "investigador".

Con mucho gusto y con tiempo, dejamos abierto el hilo entonces. Siempre partiendo de la base que es una "zona gris", solo para compartir conocimientos y experiencias.

 

Saludos.


  • 0

#9 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 29 mayo 2018 - 09:11

Hola Delphius, exacto, opiniones, experiencias, gustos, saber más o menos donde estoy parado.

 

:D

 

En eso ando estimado, parece que me lees la mente... o ya habrán pasado varios con las mismas inquietudes.

 

Con mucho gusto y con tiempo, dejamos abierto el hilo entonces. Siempre partiendo de la base que es una "zona gris", solo para compartir conocimientos y experiencias.

 

Saludos.

 

Digamos que tengo cierta habilidad para detectar a los que andan transitando ese camino.  ;)  En parte porque soy uno de los que lo ha cruzado (y no, no he sido el primero en preguntarmelo) ;) . Hay otros foreros que al igual que yo se han cuestionado públicamente el uso de data-ware.Puedo citar al compañero Agustin Ortu como uno de los foreros más recientes en esa postura.

 

No hay necesidad de cerrar el hilo, después de todo no estamos en StackOverflow peléandonos por los puntos  :D  (aunque en ocasiones nos hacemos unas carreritas por quien logra dar la respuesta primero  *-)  ) Esto da la posibilidad de que otros compañeros puedan seguir contribuyendo con sus puntos de vistas.

 

Saludos,


  • 0




IP.Board spam blocked by CleanTalk.