Ir al contenido principal

Clases "Controladoras" y algo mas




Ejemplo:
Imagine el escenario donde Ud. llega a un local de comida rápida, seguramente ha hecho esto alguna vez en su vida, lo primero que hace es ir y decirle al cocinero, en voz alta por supuesto: “oye tu, quiero una hamburguesa doble carne bien cocida”, seguidamente le dice al muchacho de los refrescos: “me preparas una gaseosa enorme” y por último le dice al de las ensaladas: “¡me pones de todo con un poco de todo encima!”.

¿No es así como se acostumbra? 
Parece que no. 

Bien hagamos algunas correcciones. Ud. llega al local y lo recibe un cajero; nada de estar pegando gritos al cocinero y al resto del personal, seguidamente el cajero toma su pedido y él si procede a decirle al cocinero lo que Ud. quiere, le grita al de los refrescos su orden, y claro está, habla con el de las ensaladas para que le ponga de todo.


¿Ahora si estamos de acuerdo? 
No todavía. 

Hay que seguir haciendo cambios para mejorar nuestro modelo de atención al cliente en el local de comida rápida. Ud. llega al local, lo atiende el cajero y toma su pedido- “una hamburguesa doble carne bien cocida, refresco grande y ensalada gigante”,   efectúa el pago del pedido, el cajero le entrega su recibo y genera una orden de trabajo impresa, la cual utiliza el cocinero para preparar su carne, el muchacho de los refrescos la revisa para preparar su gaseosa y por último el chico de las ensaladas lee en ella su orden y se dispone a prepararle a Ud. su ensalada. 

Al final de este proceso le entregan a Ud. justo lo que pidió: “una hamburguesa sencilla, medio cruda, refresco pequeño y ensalada sencilla”. Bueno, puede que no sea exactamente lo que pidió, pero éste último modelo representa mejor el servicio de atención al cliente de nuestro local de comida rápida.



En el ejemplo anterior el cajero representa una clase borde o interfase del sistema de atención al cliente del local de comida rápida. El cocinero, el muchacho de los refrescos y el chico de las ensaladas representan clases entidades, y la orden de trabajo es precisamente una clase controladora. 

Observe como la clase orden de trabajo es capaz de convertir un mensaje de la clase cajero en una serie de mensajes y flujos de acción que son útiles para las otras clases entidades, que deben realizar el trabajo necesario para satisfacer el requerimiento solicitado.

Las clases controladoras sirven como intermediarios entre las clases interfases y las demás clases del sistema, especialmente las clases entidades. 


Comentarios

Entradas populares de este blog

El Melange todavía corre

Ese era el estribillo de un capítulo de unas de mis series favoritas de la infancia, Meteoro o Speed Racer. En ese capítulo un auto “fantasma” el X-3, aparecía de imprevisto y dejaba a todos asombrados con su rendimiento y prestaciones y volvía a desaparecer. Traigo ese episodio a colación puesto que recientemente sostuve una amena charla con un querido amigo, en la que el me manifestaba como los Mainframes habían muerto, o mejor dicho, el concepto de la computación distribuida basada en Mainframes había desaparecido. Para variar, yo no estuve de acuerdo, y le dije que por el contrario, el modelo de computación basado en Mainframes está mas vigente que nunca. Estos fueron mis argumentos:

Primeros pasos con Camunda BPM – Modelando un Proceso BPMN 2.0

Tenemos entre manos la tercera publicación de nuestra serie sobre la Plataforma de BPM de Camunda .  El día de hoy vamos, por fin, a empezar a modelar o construir nuestro primer proceso sencillo en notación BPMN 2.0. Para ello vamos a usar el modelador o editor que ya hemos instalado en nuestra primera publicación , y vamos a guardarlo en la sección de recursos del proyecto Maven Java que configuramos en la segunda publicación . Así que, como ya es costumbre, manos a las sobras…

Primeros pasos con Camunda BPM...

... e impresiones. En el competido mercado de las Soluciones de Business Process Management(BPMS) se encuentran diversos fabricantes con productos u opciones de diversa calidad. Por mi foco de carrera o área de trabajo me ha tocado prácticamente trabajar con la gran e inmensa mayoría de todas estas soluciones de software, desde las más sencillas y económicas, las más populares y conocidas, las comerciales, las de código abierto, y hasta las más costosas, “worldclass”, de estas soluciones de BPM.