PDF de programación - Programación Orientada a Eventos

Imágen de pdf Programación Orientada a Eventos

Programación Orientada a Eventosgráfica de visualizaciones

Publicado el 19 de Mayo del 2018
787 visualizaciones desde el 19 de Mayo del 2018
49,8 KB
4 paginas
Creado hace 3a (27/02/2016)
Programación Orientada a Eventos

umh1467-PV

La programación dirigida por eventos es un paradigma
de programación en el que tanto la estructura como la eje-
cución de los programas van determinados por los suce-
sos que ocurran en el sistema, definidos por el usuario o
que ellos mismos provoquen.
Para entender la programación dirigida por eventos, po-
demos oponerla a lo que no es: mientras en la programa-
ción secuencial (o estructurada) es el programador el que
define cuál va a ser el flujo del programa, en la programa-
ción dirigida por eventos será el propio usuario —o lo que
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-
ma, estas intervenciones ocurrirán cuando el programa-
dor lo haya determinado, y no en cualquier momento co-
mo puede ser en el caso de la programación dirigida por
eventos.
El creador de un programa dirigido por eventos debe defi-
nir los eventos que manejarán su programa y las acciones
que se realizarán al producirse cada uno de ellos, lo que
se conoce como el administrador de evento. Los eventos
soportados estarán determinados por el lenguaje de pro-
gramación utilizado, por el sistema operativo e incluso
por eventos creados por el mismo programador.
En la programación dirigida por eventos, al comenzar la
ejecución del programa se llevarán a cabo las inicializa-
ciones y demás código inicial y a continuación el pro-
grama quedará bloqueado hasta que se produzca algún
evento. Cuando alguno de los eventos esperados por el
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
ejecutará el código del administrador de evento, que será
el que haga que la película se muestre por pantalla.
Un ejemplo claro lo tenemos en los sistemas de progra-
mación Lexico y Visual Basic, en los que a cada elemento
del programa (objetos, controles, etcétera) se le asignan
una serie de eventos que generará dicho elemento, como
la pulsación de un botón del ratón sobre él o el redibujado
del control.
La programación dirigida por eventos es la base de lo que
llamamos interfaz de usuario, aunque puede emplearse
también para desarrollar interfaces entre componentes de
Software o módulos del núcleo.
En los primeros tiempos de la computación, los progra-

mas eran secuenciales, también llamados Batch. Un pro-
grama secuencial arranca, lee parámetros de entrada, pro-
cesa estos parámetros, y produce un resultado, todo de
manera lineal y sin intervención del usuario mientras se
ejecuta.
Con la aparición y popularización de los PC, el software
empezó a ser demandado para usos alejados de los clási-
cos académicos y empresariales para los cuales era nece-
sitado hasta entonces, y quedó patente que el paradigma
clásico de programación no podía responder a las nuevas
necesidades de interacción con el usuario que surgieron a
raíz de este hecho.

1 Detección de eventos

En contraposición al modelo clásico, la programación
orientada a eventos permite interactuar con el usuario en
cualquier momento de la ejecución. Esto se consigue de-
bido a que los programas creados bajo esta arquitectu-
ra se componen por un bucle exterior permanente encar-
gado de recoger los eventos, y distintos procesos que se
encargan de tratarlos. Habitualmente, este bucle externo
permanece oculto al programador que simplemente se en-
carga de tratar los eventos, aunque en algunos entornos de
desarrollo (IDE) será necesaria su construcción.
Ejemplo de programa orientado a eventos en pseudo len-
guaje:
While
case mous-
se_button_down: case mouse_click: case keypressed:
case Else: } }

(event){

(true){

Switch

2 Problemática

La programación orientada a eventos supone una compli-
cación añadida con respecto a otros paradigmas de pro-
gramación, debido a que el flujo de ejecución del softwa-
re escapa al control del programador. En cierta manera
podríamos decir que en la programación clásica el flujo
estaba en poder del programador y era este quien deci-
día el orden de ejecución de los procesos, mientras que
en programación orientada a eventos, es el usuario el que
controla el flujo y decide.
Pongamos como ejemplo de la problemática existente,
un menú con dos botones, botón 1 y botón 2. Cuando el

1

2

7 VÉASE TAMBIÉN

usuario pulsa botón 1, el programa se encarga de recoger
ciertos parámetros que están almacenados en un fiche-
ro y calcular algunas variables. Cuando el usuario pulsa
el botón 2, se le muestran al usuario por pantalla dichas
variables. Es sencillo darse cuenta de que la naturaleza
indeterminada de las acciones del usuario y las caracte-
rísticas de este paradigma pueden fácilmente desembocar
en el error fatal de que se pulse el botón 2 sin previamente
haber sido pulsado el botón 1. Aunque esto no pasa si se
tienen en cuenta las propiedades de dichos botones, ha-
ciendo inaccesible la pulsación sobre el botón 2 hasta que
previamente se haya pulsado el botón 1.

3 GUI’s / Interfaces Gráficas de

Usuarios

Con la evolución de los lenguajes orientados a eventos,
la interacción del software con el usuario ha mejorado
enormemente permitiendo la aparición de interfaces que,
aparte de ser la vía de comunicación del programa con el
usuario, son la propia apariencia del mismo. Estas inter-
faces, también llamadas GUI (Graphical User Interface),
han sido la herramienta imprescindible para acercar la in-
formática a los usuarios, permitiendo en muchos casos, a
principiantes utilizar de manera intuitiva y sin necesidad
de grandes conocimientos, el software que ha colaborado
a mejorar la productividad en muchas tareas.
Uno de los periféricos que ha cobrado mayor importancia
tras la aparición de los programas orientados a eventos ha
sido el ratón, gracias también en parte a la aparición de los
sistemas operativos modernos con sus interfaces gráficas.
Estas suelen dirigir directamente al controlador interior
que va entrelazado al algoritmo.

4 Herramientas visuales de desa-

rrollo

Con el paso del tiempo, han ido apareciendo una nueva
generación de herramientas que incluyen código que au-
tomatiza parte de las tareas más comunes en la detección
y tratamiento de eventos.
Destacan particularmente los entornos de programación
visual que conjugan una herramienta de diseño gráfica
para la GUI y un lenguaje de alto nivel. Entre estas herra-
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
falta de eficiencia.

5 Lenguajes

5.1 Web

Javascript

5.2 Escritorio Windows

Visual Basic
Visual C++

5.3

.NET Framework (Escritorio Windows y
Web)

Visual Basic
C#
J#
Lexico

5.4 Otros

AS3

6 Bibliotecas

6.1 C y C++

Qt
GTK+

6.2

Java
AWT
Swing
SWT

6.3 Web

ASP.NET (Mediante Javascript con el Modelo

Code-behind)

7 Véase también
Programación estructurada
Paradigma de programación
Programación lógica

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.

George S. Fishman: Discrete-Event Simulation - Mo-
deling, Programming, and Analysis, Springer, ISBN
0-387-95160-1.

Bertrand Meyer (2004): The power of abstraction,
reuse and simplicity: an object-oriented library for
event-driven design, in Festschrift in Honor of Ole-
Johan Dahl, eds. Olaf Owe et al., Springer-Verlag,
Lecture Notes in Computer Science 2635, en línea.
Miro Samek: Practical Statecharts in C/C++: Quan-
tum Programming for Embedded Systems, CMP
Books, ISBN 1-57820-110-1.

Faison, Ted (2006). Event-Based Programming: Ta-
king Events to the Limit. Apress. ISBN 1-59059-643-9.

En español:

Adolfo Lozano Tello: Iniciación a la programación
utilizando lenguajes visuales orientados a eventos,
Ed.Bellisco Ediciones Técnicas y Científicas, ISBN
84-95279-49-5. ISBN 978-84-95279-49-1

9 Enlaces externos
Description from Portland Pattern Repository

4

10 ORIGEN DEL TEXTO Y LAS IMÁGENES, COLABORADORES Y LICENCIAS

10 Origen del texto y las imágenes, colaboradores y licencias
10.1 Texto

Programación dirigida por

eventos Fuente: https://es.wikipedia.org/wiki/Programaci%C3%B3n_dirigida_por_eventos?oldid=
87471649 Colaboradores: Moriel, Ascánder, Niqueco, RobotQuistnix, GermanX, Zimio, Djiraan, Chlewbot, CEM-bot, Jorgelrm,
Thijs!bot, Cguzmanceti, Dgilperez, Poc-oban, Myrecaba, Jmvkrecords, AchedDamiman, Ayleen, VolkovBot, SieBot, PaintBot,
Bigsus-bot, Derlis py, Farisori, Fanattiq, Varrojo, Alexbot, UA31, Diego.viola, AVBOT, MastiBot, Diegusjaimes, Arjuno3, Jamierlend,
SuperBraulio13, Manuelt15, Xqbot, Jkbw, Botarel, Viento Turquesa, RedBot, KamikazeBot, Humbefa, EmausBot, Waka Waka, Frank
sin Otra, Mega-buses, Addbot y Anónimos: 56

10.2 Imágenes

Archivo:Mergefrom.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/0/0f/Mergefrom.svg Licencia: Public domain Cola-

boradores: ? Artista original: ?

10.3 Licencia del contenido

Creative Commons Attribution-Share Alike 3.0
  • Links de descarga
http://lwp-l.com/pdf11099

Comentarios de: Programación Orientada a Eventos (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad