Tpampin 1520
Tpampin 1520
Tpampin 1520
La programación dirigida por eventos es un paradigma cesa estos parámetros, y produce un resultado, todo de
de programación en el que tanto la estructura como la eje- manera lineal y sin intervención del usuario mientras se
cución de los programas van determinados por los suce- ejecuta.
sos que ocurran en el sistema, definidos por el usuario o Con la aparición y popularización de los PC, el software
que ellos mismos provoquen.
empezó a ser demandado para usos alejados de los clási-
Para entender la programación dirigida por eventos, po- cos académicos y empresariales para los cuales era nece-
demos oponerla a lo que no es: mientras en la programa- sitado hasta entonces, y quedó patente que el paradigma
ción secuencial (o estructurada) es el programador el que clásico de programación no podía responder a las nuevas
define cuál va a ser el flujo del programa, en la programa- necesidades de interacción con el usuario que surgieron a
ción dirigida por eventos será el propio usuario —o lo que raíz de este hecho.
sea que esté accionando el programa— el que dirija el flu-
jo del programa. Aunque en la programación secuencial
puede haber intervención de un agente externo al progra- 1 Detección de eventos
ma, estas intervenciones ocurrirán cuando el programa-
dor lo haya determinado, y no en cualquier momento co-
En contraposición al modelo clásico, la programación
mo puede ser en el caso de la programación dirigida por
orientada a eventos permite interactuar con el usuario en
eventos.
cualquier momento de la ejecución. Esto se consigue de-
El creador de un programa dirigido por eventos debe defi- bido a que los programas creados bajo esta arquitectu-
nir los eventos que manejarán su programa y las acciones ra se componen por un bucle exterior permanente encar-
que se realizarán al producirse cada uno de ellos, lo que gado de recoger los eventos, y distintos procesos que se
se conoce como el administrador de evento. Los eventos encargan de tratarlos. Habitualmente, este bucle externo
soportados estarán determinados por el lenguaje de pro- permanece oculto al programador que simplemente se en-
gramación utilizado, por el sistema operativo e incluso carga de tratar los eventos, aunque en algunos entornos de
por eventos creados por el mismo programador. desarrollo (IDE) será necesaria su construcción.
En la programación dirigida por eventos, al comenzar la Ejemplo de programa orientado a eventos en pseudo len-
ejecución del programa se llevarán a cabo las inicializa- guaje:
ciones y demás código inicial y a continuación el pro-
While (true){ Switch (event){ case mous-
grama quedará bloqueado hasta que se produzca algún
se_button_down: case mouse_click: case keypressed:
evento. Cuando alguno de los eventos esperados por el
case Else: } }
programa tenga lugar, el programa pasará a ejecutar el
código del correspondiente administrador de evento. Por
ejemplo, si el evento consiste en que el usuario ha hecho
clic en el botón de play de un reproductor de películas, se 2 Problemática
ejecutará el código del administrador de evento, que será
el que haga que la película se muestre por pantalla. La programación orientada a eventos supone una compli-
cación añadida con respecto a otros paradigmas de pro-
Un ejemplo claro lo tenemos en los sistemas de progra-
gramación, debido a que el flujo de ejecución del softwa-
mación Lexico y Visual Basic, en los que a cada elemento
re escapa al control del programador. En cierta manera
del programa (objetos, controles, etcétera) se le asignan
podríamos decir que en la programación clásica el flujo
una serie de eventos que generará dicho elemento, como
estaba en poder del programador y era este quien deci-
la pulsación de un botón del ratón sobre él o el redibujado
día el orden de ejecución de los procesos, mientras que
del control.
en programación orientada a eventos, es el usuario el que
La programación dirigida por eventos es la base de lo que controla el flujo y decide.
llamamos interfaz de usuario, aunque puede emplearse
Pongamos como ejemplo de la problemática existente,
también para desarrollar interfaces entre componentes de
un menú con dos botones, botón 1 y botón 2. Cuando el
Software o módulos del núcleo.
usuario pulsa botón 1, el programa se encarga de recoger
En los primeros tiempos de la computación, los progra- ciertos parámetros que están almacenados en un fiche-
mas eran secuenciales, también llamados Batch. Un pro- ro y calcular algunas variables. Cuando el usuario pulsa
grama secuencial arranca, lee parámetros de entrada, pro- el botón 2, se le muestran al usuario por pantalla dichas
1
2 7 VÉASE TAMBIÉN
8 Referencias
• Grant Palmer: Java Event Handling, Prentice Hall,
ISBN 0-13-041802-1.
• David Luckham: The Power of Events - An Intro-
duction to Complex Event Processing in Distributed
Enterprise Systems, Addison-Wesley, ISBN 0-201-
72789-7.
En español:
9 Enlaces externos
• Description from Portland Pattern Repository
4 10 ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS
10.2 Imágenes