Mientras la programación orientada a objeto se centra en la estructura de los objetos, este enfonque de la programación se centra en sus relaciones.
El que un objeto “actue”, se cree u otra operación desencadena una serie de procesos, eventos, en los demas objetos.
Debemos considerar el evento como una situación que desencadena otra.
En la imagen se pueden apreciar los elementos que participan en este tipo de programación.
Launcher es el que genera un evento.
Dispatcher indica quien debe recibir el evento
Listener recibe u oye el evento y actúa cuando se produce.
En base a su relación podemos indicar lo siguiente:
Un launcher puede tener muchos eventos.
Un evento tiene un unico Launcher.
Un evento puede ser escuchado por muchos listeners.
Un Dispatcher solo tiene un launcher.
Un launcher puede tener muchos dispatchers.
Un listener puede atender a muchos dispatcher.
Un dispatcher puede repartir a muchos listeners.
En el campo del desarrollo de componentes web podemos encontrar en los listeners.
El siguiente es un ejemplo claro del diagrama anterior en el que se facilita la identificación de los actores.
Imaginemos la bolsa.
Tenemos una pizarra de valores (Es nuestro lanzador de eventos),
en el parque tenemos a los brokers (son los dispatchers), fuera tenemos a los clientes.
Así cuando un broker recibe un evento, por ejemplo la subida de una empresa en concreto, este transmite el evento a sus clientes como se muestra en el siguiente diagrama.
Este paradigma de programación, es de mucha utilidad en el diseño de interfaces gráficas de usuario (GUI) si bien en el desarrollo de componentes web su aplicación es limitada.
Enlaces:
No hay comentarios:
Publicar un comentario