FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
malas practicas?
Tipico que tienes tus componentes de datos persistentes, es decir todos tus datasets y querys los llenas en tiempo de diseño, eso tiene sus limites en sistemas medianamente complejos, en donde cuando haces un pequeño cambio en las tablas (todo cambio es posible incluso en la data) tienes que volver a cambiar todo en tus componentes de dato en tiempo de diseño y ademas te llenas de datasets y querys en tu modulo de datos que ya no sabes como manejarlo. Solucion para esto: usa componentes de datos (datasets y querys) dinamicos que se llenen (y liberen) en tiempo de ejecucion, para eso tienes que programar todo explicitamente en el codigo, de otro modo ni tu ni nadie podra manejar tanto embrollo. Salu2.
__________________
nuestro carácter está reflejado en cada línea de código que escribimos. |
#2
|
||||
|
||||
Cita:
Cita:
Lo que tienes que hacer no es "embellecer" tus datamodules, que no siendo componentes visuales no pueden embellecerse. Lo que tienes que hacer es aprender a organizar tu código. Usa varios datamodules, tantos como sean necesarios y sin mezclar elementos que no tienen relación. PopupMenus en un datamodule, actionmanagers en otros y datasets en otro. Y cada grupo puede subdividirse en varios datamodules según convenga a tu modelo, por ejemplo, un módulo para ventas, otro para almacen, otro para clientes, etc. Por otra parte, los datasource los considero mejor en los formularios que los usen y no en el datamodule. Y, finalmente, Quien tiene que hacer un esfuerzo es el que pregunta, los foros no son un servico técnico. // Saludos |
#3
|
||||
|
||||
Y añadiendo a lo que dice Roman, tambien puedes meter los datasets que se utilizan solo en un formulario dentro del mismo, aunque parece algo "poco elegante", sin embargo considero que un datamodule debe contener componentes que pueden estar accesibles a mas de un formulario o proceso dentro de tu programa. Pero bueno ya es cuestión del estilo de cada quien.
Por otro lado eso de "embellecer" no tiene caso pues ya Delphi trae el Explorador de Código que permite ver los componentes del datamodule en forma ordenada por clase y alfabeticamente que creo que es más que suficiente cuando se tienen muchos componentes metidos ahí.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#4
|
|||
|
|||
Si quieres poner TGroupbox, colores, etc. en vez de TDatamodule...
Usa un TForm en vez de TDatamodule.. Saludos |
#5
|
|||
|
|||
Cita:
|
#6
|
||||
|
||||
Lo siguiente es un esquema, a grandes rasgos, de cómo organizo estos componentes con Magia Data. Los recuadros en rojo indican algunas de las muchas características que le dan valor a este paquete de componentes. No me salvo de tener módulos de datos bastante grandes, pero consigo que sean un poco más fáciles de manejar.
Módulo de datos dmServidor: Módulo de datos dmProveedor: Módulo de datos dmCliente: Formulario de captura: Este enlace también puede ser de ayuda. OJO: En Delphi, no necesariamente hay que emplear dbExpress (TSQLConnection, TSQLQuery...) para poder aprovechar la potencia de los conjuntos de datos clientes (TClientDataSet). Los colegas suelen pensar que dbExpress y MIDAS son parte de lo mismo; sí que combinan bien pero no están casados. Por otro lado, TMagiaDataSetProvider y TMagiaDataSource pueden trabajar con cualquiera de las muchas clases data sets existentes (ADO, ZeosLib, etcétera), puesto que sus clases padres (TDataSetProvider y TDataSource) también. Saludos cordiales. Al González. |
#7
|
||||
|
||||
Cita:
Será que ando espeso // Saludos |
#8
|
||||
|
||||
Hola.
Y yo sigo insistiendo que no le encuentro sentido a "embellecer" algo que no se podrá ver... Saludos.
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... Última edición por ecfisa fecha: 26-04-2012 a las 17:50:40. |
#9
|
|||
|
|||
Aclaración sobre el término "embellecer"
Primero quiero volver a decir que no lo inventé yo. Lo tomé prestado de los utilitarios llamados "code beautifiers", aunque estos solo se meten con el código. Por extensión lo intento aplicar a la cuestión de diseño visual. Por otro lado entiendo que la la belleza podría no ser el mejor término en estos casos, llamemoslo si se quiere herramientas de ayuda de diseño visual. Por ejemplo: Un diagrama gráfico de entidad-relación o un diseñador visual de objetos no agrega nada a la efectividad del código, pero creo que son buenas prácticas para cuando un diseño quiere ser compartido en un equipo de trabajo. La verdad es que a veces pierdo mucho tiempo buscando una tablita en un datamodule y a veces no recuerdo bien como se engancha con otras tablas. Y sigamos discutiendo nomás, que cada uno va rescatando un poco de cada post. Y además tenía un problema de servicio técnico: Tengo una heladera Siam de año 63. Donde puedo conseguir el termostato original? Le puedo adaptar algún otro? Y si la conecto directo? Y si me resigno a tomar la coca caliente? En fin, se que quizás este no es el foro adecuado... |
#10
|
|||
|
|||
Cita:
Cita:
Va |
#11
|
||||
|
||||
Si podria, pero no lo hare por ahora, solo te dire que se implemento estas funciones en el modulo de datos:
lo que se gana con todo esto es que cualquiera puede modificar el codigo de los sistemas puesto que todo esta expuesto y por ende los sistemas son mas robustos y muy depurables, la pega del asunto es que ya no hay enlace entre los componentes y la data directamente porque todo es a mano, pero esto en si también llegaría a ser una ventaja puesto que se gana en versatilidad, a la larga ya no estas apareciendo en tanto foro para preguntar como funciona un dblockupcombobox por dar un ejemplo, puesto que usas un simple combobox o similar y tu mismo lo llenas a mano, cuestion de filosofia.
__________________
nuestro carácter está reflejado en cada línea de código que escribimos. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda para instalar componente svqrbarcode para QReport | BlueSteel | Varios | 4 | 24-09-2010 23:05:23 |
Componente para buscar registros, para no repetir codigo. | flystar | Conexión con bases de datos | 9 | 28-04-2010 23:16:15 |
como mover todos los componente a un DataModule | kurono | Varios | 8 | 25-03-2008 02:09:45 |
Crear un DataModule para Firebird | claudiorene | Firebird e Interbase | 1 | 13-07-2007 18:01:09 |
componente para norma19 para delphi7 | raulmm26 | Varios | 3 | 07-02-2005 12:31:11 |
|