
09/06/2008, 00:51
|
| | Fecha de Ingreso: junio-2003 Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 21 años, 8 meses Puntos: 7 | |
Respuesta: Clases de acceso a datos. Si, si, lo sé, lo sé. Por eso quiero hacerlo. De hecho, ya la tengo con MySQL, Sql Server y la primera Beta de PostgreSQL.
Lo que me gustaría saber es su opinión sobre como lo estoy haciendo, creo que es lo correcto, pero me gustaría saber sus opiniones.
Verán hice los siguientes pasos:
- Diseñe una Interfaz donde especifico que métodos y propiedades tienen que tener las clases. Entre los métodos están:
EjecutarSql(DataTable tbDatos, String txtConsulta);
EjecutarSql(DataSet dsDatos, String txtConsulta);
EjecutarSPLectura(DataTabla tbDatos, String nombreSP);
EjecutarSPLectura(DataTabla tbDatos, String nombreSP, ClsParametros objParametros);
etc.....
- Luego diseñe las clases de acceso a datos para cada tipo. La Clase de MySQL, tiene los parametros arriba indicados y usa de MySql.Data. La de PostgreSQL usa de NpgSQL, etc...
- Ok, ya tengo las diferentes clases para acceso a datos de SqlServer, MySQL y Postgre.
- Ahora he creado una clase intermedia, que también implementa la interfaz, que es la encargada, mediante reflexión de cargar una clase u otra.
Asi, yo en mis proyectos usaré esa clase y dependiendo de la base de datos, solo cambiaré el fichero de configuración y subiré y quitaré una .dll. Sin tener que agregar o quitar referencias al código y evitar el tener que publicar...
¿Qué les parece?, ¿Es una forma correcta?, ¿Lo ven óptimo?, yo creo que es una buena idea para evitarse recompilaciones y demás... en fin, espero sus opiniones. Saludos.
__________________ Charlie. |