Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
umh1467-PV
La programacin dirigida por eventos es un paradigma mas eran secuenciales, tambin llamados Batch. Un pro-
de programacin en el que tanto la estructura como la eje- grama secuencial arranca, lee parmetros de entrada, pro-
cucin de los programas van determinados por los suce- cesa estos parmetros, y produce un resultado, todo de
sos que ocurran en el sistema, denidos por el usuario o manera lineal y sin intervencin del usuario mientras se
que ellos mismos provoquen. ejecuta.
Para entender la programacin dirigida por eventos, po- Con la aparicin y popularizacin de los PC, el software
demos oponerla a lo que no es: mientras en la programa- empez a ser demandado para usos alejados de los clsi-
cin secuencial (o estructurada) es el programador el que cos acadmicos y empresariales para los cuales era nece-
dene cul va a ser el ujo del programa, en la programa- sitado hasta entonces, y qued patente que el paradigma
cin dirigida por eventos ser el propio usuario o lo que clsico de programacin no poda responder a las nuevas
sea que est accionando el programa el que dirija el u- necesidades de interaccin con el usuario que surgieron a
jo del programa. Aunque en la programacin secuencial raz de este hecho.
puede haber intervencin de un agente externo al progra-
ma, estas intervenciones ocurrirn cuando el programa-
dor lo haya determinado, y no en cualquier momento co- 1 Deteccin de eventos
mo puede ser en el caso de la programacin dirigida por
eventos.
En contraposicin al modelo clsico, la programacin
El creador de un programa dirigido por eventos debe de- orientada a eventos permite interactuar con el usuario en
nir los eventos que manejarn su programa y las acciones cualquier momento de la ejecucin. Esto se consigue de-
que se realizarn al producirse cada uno de ellos, lo que bido a que los programas creados bajo esta arquitectu-
se conoce como el administrador de evento. Los eventos ra se componen por un bucle exterior permanente encar-
soportados estarn determinados por el lenguaje de pro- gado de recoger los eventos, y distintos procesos que se
gramacin utilizado, por el sistema operativo e incluso encargan de tratarlos. Habitualmente, este bucle externo
por eventos creados por el mismo programador. permanece oculto al programador que simplemente se en-
En la programacin dirigida por eventos, al comenzar la carga de tratar los eventos, aunque en algunos entornos de
ejecucin del programa se llevarn a cabo las inicializa- desarrollo (IDE) ser necesaria su construccin.
ciones y dems cdigo inicial y a continuacin el pro- Ejemplo de programa orientado a eventos en pseudo len-
grama quedar bloqueado hasta que se produzca algn guaje:
evento. Cuando alguno de los eventos esperados por el
While (true){ Switch (event){ case mous-
programa tenga lugar, el programa pasar a ejecutar el
se_button_down: case mouse_click: case keypressed:
cdigo del correspondiente administrador de evento. Por
case Else: } }
ejemplo, si el evento consiste en que el usuario ha hecho
clic en el botn de play de un reproductor de pelculas, se
ejecutar el cdigo del administrador de evento, que ser
el que haga que la pelcula se muestre por pantalla. 2 Problemtica
Un ejemplo claro lo tenemos en los sistemas de progra-
macin Lexico y Visual Basic, en los que a cada elemento La programacin orientada a eventos supone una compli-
del programa (objetos, controles, etctera) se le asignan cacin aadida con respecto a otros paradigmas de pro-
una serie de eventos que generar dicho elemento, como gramacin, debido a que el ujo de ejecucin del softwa-
re escapa al control del programador. En cierta manera
la pulsacin de un botn del ratn sobre l o el redibujado
del control. podramos decir que en la programacin clsica el ujo
estaba en poder del programador y era este quien deci-
La programacin dirigida por eventos es la base de lo que da el orden de ejecucin de los procesos, mientras que
llamamos interfaz de usuario, aunque puede emplearse en programacin orientada a eventos, es el usuario el que
tambin para desarrollar interfaces entre componentes de controla el ujo y decide.
Software o mdulos del ncleo.
Pongamos como ejemplo de la problemtica existente,
En los primeros tiempos de la computacin, los progra- un men con dos botones, botn 1 y botn 2. Cuando el
1
2 7 VASE TAMBIN
6.2 Java
4 Herramientas visuales de desa-
rrollo AWT
Swing
Con el paso del tiempo, han ido apareciendo una nueva
generacin de herramientas que incluyen cdigo que au- SWT
tomatiza parte de las tareas ms comunes en la deteccin
y tratamiento de eventos.
6.3 Web
Destacan particularmente los entornos de programacin
visual que conjugan una herramienta de diseo grca ASP.NET (Mediante Javascript con el Modelo
para la GUI y un lenguaje de alto nivel. Entre estas herra- Code-behind)
mientas se encuentra la conocida Visual Basic, lenguaje
altamente apreciado por principiantes debido a la facili-
dad para desarrollar software en poco tiempo y con pocos
conocimientos, y denostado por tantos otros debido a su 7 Vase tambin
falta de eciencia.
Programacin estructurada
Paradigma de programacin
5 Lenguajes
Programacin lgica
3
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 espaol:
9 Enlaces externos
Description from Portland Pattern Repository
4 10 ORIGEN DEL TEXTO Y LAS IMGENES, COLABORADORES Y LICENCIAS
10.2 Imgenes
Archivo:Mergefrom.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/0/0f/Mergefrom.svg Licencia: Public domain Cola-
boradores: ? Artista original: ?