Bases de datos, Singleton y modelos de filtrado

En vista de que vienen de nuevo las jornadas, y que toca mas gente, he empezado con la conversion de AcoLITE a MyAcolito (soporte de archivo vs soporte MySQL).

He estado viendo el patron Singleton, y creo que lo voy a utilizar combinandolo con los modelos de filtrado y las bases de datos para aislar las conexiones de la interfaz principal. En principio, pense en utilizarlo unicamente con los modelos, pero luego vi mas logico emplear modelos privados dentro de las clases que modelan las conexiones a las distintas bases de datos (las cuales serian Singletons y Facade) y devolver modelos de filtrado sobre esos modelos privados. La ventaja que le veo a este enfoque es que las conexiones, al quedar ocultas, se controlan mejor (una única conexión con la base de datos, no doscientos millones una para cada tarea), y que puedo introducir cambios sustanciales dentro de los modelos principales sin que ello afecte realmente al resto del código (no tengo que preocuparme demasiado de los demás widgets porque trabajan sobre modelos de filtrado, de tipo QSortFilterProxyModel).

Lo que más me preocupa es el tiempo. Quiero tener el modelo y la aplicación lista para cuando lleguen las jornadas, y aún no sé si debería de intentar redirigir también la inscripción a las actividades a través de la aplicación. Por un lado, ganaríamos en velocidad a la hora de inscribir a la gente (siete personas pueden apuntarse simultaneamente a la misma actividad, ganas en tiempo de búsqueda sobre los distintos paquetes de actividades, etc…). Pero, por otro, se formarían colas cuando los organizadores de actividades vayan a recoger sus actividades, ya que deberían de imprimirse ‘en el momento’ y tendrían que estar entonces esperando para poder recoger sus actividades. Podría incorporar un reloj interno y automatizar la impresión de actividades, de tal forma que cuando llegue la hora programada o cinco minutos antes, la impresora se activase e imprimiese la tanda correspondiente de actividades, para que luego sólo haya que recoger las hojas y entregarlas a los organizadores según vayan llegando… pero eso implicaría también una restricción de horario de inscripción… ¡argh, qué horror!

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