Cambios en FactoryDatabase

Para la siguiente iteración de Acolito, he decidido realizar un cambio sobre la forma de trabajar de DatabaseCon y DatabaseGen, clases encargadas de conectar y generar, respectivamente, las bases de datos SQLite y MySQL de las aplicaciones.

Hasta ahora, las clases DatabaseCon y DatabaseGen utilizan el mismo esquema: establecemos las configuraciones, le pasamos un Acolito y luego construimos, borramos o generamos las conexiones y las bases de datos… pero ¿qué ocurre cuando existen dos o más Acolitos compartiendo la misma conexión? Tanto una como otra generan un error al intentar redefinir una conexión ya existente.

Planteo dos posibles soluciones: la primera, es que al encontrar una conexión con el mismo nombre, por omisión no genere, borre o prepare una nueva conexión con dicho nombre, sino que considere ese como un estado normal y omita sin generar error la configuración de dicha conexión, pero no me satisface. ¿Qué ocurre si, en algún caso, el programador se ha olvidado de eliminar la conexión?

La otra opción es almacenar punteros a los Acolitos en el DatabaseGen/Con, y recorrer luego dicha lista cuando se llame al procedimiento generador o configurador:


generador->addAcolito(acolito1);
generador->addAcolito(acolito2);
generador->addAcolito(acolito3);

//....

if(!generador->createDatabases()) {
//codigo de error
}

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s