Ver Mensaje Individual
  #20  
Antiguo 08-10-2015
elrayo76 elrayo76 is offline
Miembro
 
Registrado: ene 2004
Ubicación: En la tierra, por eso mis archivos en la tierra y no en la nuebe...
Posts: 291
Reputación: 21
elrayo76 Va por buen camino
Gracias por la respuesta.

De todo lo que escribiste, te puedo decir que no pretendo hacer un ORM. Lo que pretendo es hacer alguna forma de que los desarrolladores no tengan que escribir código SQL en las aplicaciones y solo llamen a métodos de las distintas clases para ejecutar alguna consulta

Lo que tengo en mente es algo como lo siguiente:

1) Se tiene una clase que solo contiene los campos de las tablas como propiedades con sus respectivos read y write. Ejemplo: TCliente.
2) Otra clase que hace uso de la anterior contendría todos los métodos necesarios para Listar, Cargar, insertar, actualizar, eliminar. Podría luego el desarrollador en estas clases crear métodos si se necesita haceer algo mas específico de lo que ya exista. Ejemplo: TClienteServicios.
3) Tener otra clase que solo sirva para hacer la conexión con las distintas bases de datos que sean necesarias (dentro del mismo motor de base de datos). Esta clase podría ser llamada en el constructor o de alguna forma por la clase anterior. Ejemplo: TConexion
4) Si se quiere y se necesita se tendría una clase para armar la condición (WHERE), pasando solamente el nombre del campo, el tipo de condición (=, <>, IN, >, <) y el valor a comparar contra el campo. Esta condición se pasaría por ejemplo al método Listar de la clase TClienteServicio para filtrar los resultados que trae.
5) Igual que el punto 4 se podría crear otra clase para hacer el ordenamiento de los datos devueltos por el Listar.

En principio lo pense con tablas, pero podría usarse con vistas. Y algo que deje de lado pero que hay que tener en cuenta es un método para ejecutar Store Procedures, pasando el nombre del mismo y los parámetros (puede haber mas cosas para evaluar pero eso es lo básico).

Saludos,
El Rayo
__________________
Si tienes una función o procedimiento con diez parámetros, probablemente hayas olvidado uno
Responder Con Cita