Programacion Dirigida por Eventos

Páginas: 6 (1374 palabras) Publicado: 1 de septiembre de 2013
La programación dirigida por eventos es un paradigma de programación en el que el flujo del programa está determinado por eventos o mensajes desde otros programas o hilos de ejecución.
Las aplicaciones desarrolladas con programación dirigida por eventos implementan un bucle principal o main loop donde se ejecutan las dos secciones principales de la aplicación: El selector de eventos y elmanejador de eventos.
La mayoría de librerías para el desarrollo de aplicaciones con GUI como GTK o Qt están diseñados para ser dirigidos por eventos, de ahí el famoso sistema de ranuras y señales de Qt que no es más que un patrón de diseño observer bastante currado.
Un poco de historia
A finales de los 70, los sistemas estaban pensados para trabajar como cadenas de ensamblaje donde un programa usabauna entrada y producía una salida que sería utilizada por otro programa como entrada para producir otra salida y así hasta finalizar el proceso. Este proceso mental de construir software es la base del desarrollo estructurado.
El padre del desarrollo estructurado (que no de la programación estructurada ojo) fue Larry LeRoy Constantine bajo el ala del Instituto de Investigación de Sistemas deIBM. Uno de los mayores expertos y defensores de los métodos estructurados es Edward Yourdon, tanto que las expresiones “Yourdon” y “métodos de análisis y diseño estructurado” son sinónimos.
Constantine y Yourdon definieron nuevos modelos de control del flujo de datos implementando lo que llamaron transacciones que en realidad son un patrón de diseño de manejadores de eventos.

En el diagrama dela derecha se muestra el siguiente proceso:
Un flujo de datos invoca eventos o lo que Constantine y Yourdon llamaron “transacciones“
Un disparador los envía a manejadores especializados, Constantine y Yourdon lo llamaron “centro de transacciones“
un conjunto de manejadores que se encargan de realizar operaciones sobre el flujo de datos
El trabajo del disparador es analizar los eventos paradeterminar su naturaleza y entonces enviarlos al manejador adecuado que es capaz de trabajar con eventos de esa naturaleza. El disparador tiene que procesar un flujo de eventos, así que su lógica debe incluir un bucle de eventos para poder enviar un evento a un manejador y volver a escuchar a la espera de nuevos eventos que disparar.
Es común que exista un evento especial que rompa el bucle y salgade la aplicación, a ese evento se le llama evento finalizador y es muy común en todas las librerías para escribir aplicaciones GUI. También puede ocurrir que el disparador capture un evento de naturaleza desconocida o para el que no exista un manejador adecuado, en esos casos, el disparador debe descartar el evento o lanzar una excepción.
En algunas ocasiones es común que el disparador y losmanejadores no sean capaces de procesar los eventos con la suficiente premura conforme van llegando por lo que la mayoría de aplicaciones basadas en GUI implementan una cola de eventos. Esta lógica es muy delicada y si no se implementa bien puede ser producto de cuellos de botella fatales.
Con la aparición en los noventa de la programación orientada a objetos nuevos diseños vieron la luz como ESA(Essential Systems Analysis) y JSD (Jackson System Development) que rompieron de forma brutal con la antigua manera de pensar en métodos estructurados.
Arquitectura cliente-servidor
La arquitectura cliente-servidor es claramente una implementación del patrón de diseño de manejadores de eventos. Podemos pensar en el servidor como un disparador de eventos que espera a la escucha de una petición de uncliente que envía un evento y entonces el servidor lo re-envía a un manejador que lo procesa y devuelve un resultado.
El servidor implementa el bucle de eventos que escucha de forma continua y procesa las peticiones reenviándolas a partes más especialistas del servidor donde son procesadas y devueltas al cliente como respuesta. Si el bucle de eventos recibe una petición extraña, sencillamente...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programacion Dirigida Por Eventos
  • Programación dirigida por eventos
  • programacion dirigida por evento
  • Programacion Dirigida Por Eventos
  • Paradigmas de programación dirigida por eventos
  • Programacion por eventos
  • PRACTICA DIRIGIDA PROGRAMACION ENTERA
  • Programaci n dirigida por eventos y control

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS