FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Pedido a los miembros de Foro
Hola a todos,
Hace un tiempo que tengo ganas de iniciar un proyecto para que usen otros desarrolladores y me incline por un motor de persistencia para Delphi. Esto recien empieza y tengo escrito muy poco, pero si alguien me envia informacion al respecto o que caracteristicas consideren importantes en lo referente a persistencia sera muy agradecido. Todo suma, ejemplos, otros desarrollos exitentes, url, articulos, tutoriales, etc. Muchas Gracias. Walter Gomez |
#2
|
||||
|
||||
Algunas direcciones:
sourceforge Delphi Persistent Object: http://sourceforge.net/projects/depo Object Persistence Framework for Object Pascal : http://groups.yahoo.com/group/JEDI-Obiwan Spider Object Database: http://www.intervalsoftware.com/products.html TechInsite Object Persistence Framework: http://www.techinsite.com.au/Default.htm Para empezar, creo que con estas vale.. Un saludo |
#3
|
||||
|
||||
Busca documentación de Scott Ambler y Joanna Carter. Tienen bastante sobre el tema.
Para empezar puedes mirar: Introducción genérica a los OPF's Diseño de una capa de persistencia para BD relacionales Cómo mapear los objetos sobre una BD relacional Aquí tienes otro diseño de OPF de Robert Dawson Instant Objects (SourceForge), OPF para Delphi/Kylix/FPC En general, por internet puedes encontrar bastante información; Mucha sobre Java y bastante menos sobre Delphi, pero si biscas se puede encontrar para empezar. Si tienes dudas concretas, puedes preguntar, yo he trabajado diseñando OPF's y te puedo hablar sobre mi experiencia personal pero,siempre sobre algo concreto, ya que el tema es muy amplio.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. Última edición por Neftali [Germán.Estévez] fecha: 17-05-2006 a las 10:18:39. |
#4
|
||||
|
||||
Algo le pasa al enlace de Robert Dawson.
Mi opinión sesgada Para empezar yo omitiría a Joanna Carter. Tiende a hacer infinitamente complicadas las cosas más sencillas. Aún así, tanto lo que ella escribe como muchos otros, hay mucho material suelto en los grupos de noticias de borland (el de oodesign) que pueden buscar via google o tamaracka. // Saludos Última edición por roman fecha: 16-05-2006 a las 18:24:57. |
#5
|
||||
|
||||
Muchisimas gracias a todos y cuando tenga un beta lo publico.
Salu2, Walter. |
#6
|
||||
|
||||
Cita:
Corregido.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#7
|
||||
|
||||
Propiamente habría entonces que especificar que se trata de material de Phillip Brown más no de Robert Dawson.
// Saludos |
#8
|
|||
|
|||
Yo tengo mi propio Framework
En base al framework de Phillip Brown yo he desarrollado mi propio framework de persistencia.
Que ademas interactua con mi propio framework visual (o sea, con forms heredados, etc). Solo que lo comercializo, ya que me ha llevado muchisimo esfuerzo y creo que vale la pena. Si alguien esta interesado, no dude en consultarme. solution@interlap.com.ar |
#9
|
||||
|
||||
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#10
|
|||
|
|||
Lamentablemente, todavia no he tenido tiempo de armar una documentacion ni de publicarlo en mi web www.solutionline.com.ar
Cuando pueda lo haré. Si estas en Argentina, podria mostrartelo, o la otra posibilidad es mostrarlo remotamente con un Remote Administrator. Ademas, este tipo de programacion necesita de mucho codigo, y ya no de componentes TDataset para hacer los diferentes selects, por lo que he creado con Delphi un pequeño ejecutable que en pocos segundos, en base a unos parametros que le indico, me arma todo el codigo de una clase (Entidad), ahorrandome mucho tiempo. Estoy a disposicion de uds. PD: En estos dias justamente estoy de project leader en una empresa donde migraremos su sistema con varios modulos originalmente hechos en Clipper hacia Delphi 7 con mi framework de persistencia y visual. |
#11
|
||||
|
||||
Cita:
Me gustaría comentar algunas cuestiones y decisiones que has tomado, problemas que te has podido encontrar, mapeo de tablas en Base de Datos que has escogido, cómo implementas los OID's (Identificadores de objetos), navegación entre objetos, cómo realizáis las busquedas, controles estandar de Base de Datos o propios, multiidioma,... (se me ocurren uchas más ) Cita:
Cita:
Es broma, es que esta gente también trabajaba anteriormente con Clipper. Un saludo.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#12
|
|||
|
|||
Bien.
OIDs: utilizo un unico OID por Base de datos, por registro. Tengo un generador de IDS (una clase dentro del propio framework) que se reserva 15 ids, y una vez reservados nadie puede utilizarlos. Cuando necesita mas, vuelve a buscar otros 15. Controles: Utilizo unas grillas comerciales, si bien podrian utilizarse otras. Si bien trabajo con objetos, Una vez mapeada la tabla en el objeto, el mismo es mapeado en un ClientDataset, para poder manipular sus datos con controles DBAware. Y luego, vuelve del ClientDataset al objeto, y del objeto a la base de datos. El ClientDataset lo utilizo con Fields creados por mi. No estan conectados a base de datos. Las busquedas las realizo empezando el search por uno de los TPDList ( o lista de Objetos). Luego voy pidiendo mas datos. Tengo ya una estructura armada y soporta multiidioma, aunque uno debe tomarse el trabajo de armar el diccionario y luego volcar sobre la parte visual cada palabra o mensaje. Ademas, mi framework, crea Forms con un factory pattern. No del modo tradicional. Y el Main Menu, es dinamico, se crea en base a la estructura que se declare en ciertas tablas de la base de datos. Ademas con perfiles de usuario. Los forms, ya instrumentan metodos heredados para manipular el mapeo de objetos hacia el Tclientdataset y viceversa. Tambien utilizo frames, (con mismos metodos para manipular objetos/clientdataset) que sirven para armar master/details. Un problema que tuve, fue que al declarar properties/fields de las clases, como string, integer, TdateTime, etc, fue que no podia asignar el valor null cuando queria. Asi que tuve que crear mis propios tipos de datos, que son todos variants, pero cada uno con el nombre TString, TEntero, TFecha, TFechaHora, etc. Otro problema, y sin solucion por el momento, es que no puedo utilizar Blobs. Pero no es algo dramatico. Cuando necesito manejo de imagenes guardo la ruta de las imagenes. Como funcionalidad adicional, grabo un log de cada sentencia SQL ejecutada, con el dato de que usuario lo grabó. Lo que me permite replicar la base de datos si lo deseo, o revisar que sucedio, o volver hacia atras alguna operacion quiza. Bueno, espero que haya aclarado alguna de tus dudas. Un abrazo |
#13
|
||||
|
||||
Cita:
¿Qué tipo de mapeo de tablas utilizáis? Los 4 que más se utilizan son:
Cita:
Cita:
Cita:
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#14
|
|||
|
|||
Con Respecto a los mapeos, en mi caso, suelo utilizar la estructura 1 a veces, otras veces la 2. De acuerdo a lo que vea mas conveniente.
La 3 no la conocia ni la probé. En que has visto que mejora implementar la estructura 3 ?. Me interesa tu opinion. La 4 me parece horrible. Los IDs son integer. Ya que los Longint me traian algunos problemas con los ClientDataset que uso en cada form para mapear de objeto a ClientDataset. No recuerdo cual era el problema en este momento. Última edición por lsg fecha: 12-07-2006 a las 13:14:10. |
#15
|
||||
|
||||
Cita:
Las ventajas frente a las otras es que es mucho más fácil de modificar, las tablas son más pequeñas (ya que cada tabla sólo tiene los campos de esa clase) y eso hace más rápidas algunas operaciones. Pero sobre todo por el tema de modificaciones. El inconveniente mayor es la generación de consultas, que se hace más compleja. En ese mismo documento tienes una comparativa simple de las diferentes opciones.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
¿Acaso todos los miembros de este foro somos ateos? | <Sergio> | Humor | 8 | 26-03-2008 08:31:18 |
Pedido de Ayuda (Arboles bianrios, pilas y colas) | theundertakker | Varios | 1 | 07-12-2005 20:03:34 |
Swichdesktop del foro! | marceloalegre | Varios | 2 | 19-05-2005 09:37:17 |
|