![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
|||
|
|||
|
Abstraccion en BD
Hola amigos, tengo la siguiente inquietud y busco alguna orientación para encontrar el mejor camino, pretendo generar una capa de abstracción entre mis clases de tablas de la BD y las instrucciones de actualización de las tablas, me explico, por un lado tengo mi clase TProducto, TCliente que contienen los campos de la respectiva tabla, y pretendo tener en otra clase TCRUDs con las funciones/procedimientos para realizar las actualizaciones CRUD (create, update, delete) de cualquier tabla, p.ej.
La pregunta es, cómo puedo implementar p.ej. el método Insertar de TCRUDs de manera tal que lea las propiedades del objeto que se envió como parámetro (ObjetoBD) y sus valores ...? De antemano, gracias ! |
|
#2
|
||||
|
||||
|
Lee e investiga sobre persistencia. Existen en el mercado variados frameworks de persistencia. Algunos más complejos que otros, algunos caros... otros baratos, e incluso hasta Open Source.
Si tienes las posibilidad de acceder al libro UML y Patrones de Caig Larman, en los últimos capítulos le dedica un espacio a presentar justo esto. Básicamente, existe un conversor o wraper que asume justamente la tarea de "traducir" un objeto del dominio (que será persistente) a un registro de una tabla. Y a su vez, también lee de la tabla y regresa el objeto del dominio. Por tanto, por cada objeto del dominio persistente (aquel que posee una representación en la base de datos, y por tanto se almacenará) se diseña una clase conversor apropiada (existe una clase conversor abstracta, obviamente, de la cual se hereda). Luego existe una fachada de persistencia que se encarga de crear y administrar los conversores; vendría a ser, salvando algunas diferencias, la clase TCRUD que defines. Por lo general, algunos frameworks se apoyan en el uso del patrón proxy para hacer la asociación TClaseDominio <-> TConversorClaseDominio. Esto es en líneas generales. Recomiendo la lectura de dicho libro te puede ayudar a aclarar ideas. ![]() Saludos, |
|
#3
|
|||
|
|||
|
Amigo Delphius, gracias por tu respuesta, ya encontré el libro, se bien interesante, voy a leerlo y si encuentro el camino lo estaré comentando en el foro. Gracias !
|
|
#4
|
||||
|
||||
|
Busca artículos referentes a Frameworks de Persistencia de Joanna Carter; Hay algunos bastante buenos. Además de los comentados por Delphius.
También tiene varios sobre las diferentes posibilidades para "mapear" los objetos sobre tablas de la Base de Datos. Es un tema del que ya hemos hablado otras veces en los foros, así que buscando he llegado a este mensaje. Revisa esa documentación. Aquí tienes los diferentes mapeos a los que hacía referencia antes. Revisa ese hilo.
__________________
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. |
|
#5
|
|||
|
|||
|
Hola Neftalí, ya revisé algunos y son bastante interesantes. Gracias por las referencias !
|
|
#6
|
||||
|
||||
|
Un ORM comercial que ha tenido buenos comentarios:
http://www.tmssoftware.com/site/aurelius.asp Una forma diferente de ver el problema lo hacen en DataAbstract: http://www.remobjects.com/da/
__________________
El malabarista. |
![]() |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Alguna capa de abstraccion de datos? | jlcasih | Conexión con bases de datos | 1 | 10-04-2006 20:39:15 |
| Abstracción de aplicación por departamentos | adlfv | OOP | 2 | 26-10-2005 07:46:38 |
|