La comunicación entre los objetos no es concreta aunque es buscada.
Es decir el emisor (LanzadorEventos) del Evento no conoce al receptor (EscuchadorEventos) del evento. De la misma manera el (EscuchadorEventos) receptor del evento no conoce al emisor del evento (LanzadorEventos).Sin embargo el emisor del evento es consciente de que laza eventos y el receptor de eventos es consciente de que recibe eventos.
Para conseguir esta maravilla de la comunicación incorporamos un RepartidorDeEventos. Este objeto hace de intermediario en la comunicación, para ello los objetos de tipo LanzadorEventos le dan los eventos al RepartidorEventos para que el los reparta a los objetos de tipo EscuchadorEventos
Ejemplos de este tipo de comunicación los encontramos "de forma natural o cotidiana" en AWT y SWING
Características de POE:
- Este tipo de comunicación permite ignorar los eventos según nuestro interés... Al reutilizar módulos en otras aplicaciones podemos ignorar los eventos o gestionarlos
Conciencia
- Formas de conciencia:
- simple codigo java
- Formas de semiconciencia:
- anotaciones java
- Formas de incociencia (Una refinación del POE es la AOP, en la cual el emisor del evento no sabe que envia eventos):
- XML ejemplo: filter y servlet
Frameworks a trabajar
La Abstract Window Toolkit (AWT, en español Kit de Herramientas de Ventana Abstracta) es un kit de herramientas de gráficos, interfaz de usuario, y sistema de ventanas independiente de la plataforma original de Java. AWT es ahora parte de las Java Foundation Classes (JFC) - la API estándar para suministrar una interfaz gráfica de usuario (GUI) para un programa Java.API
El modelo de gestión de eventos (de usuario):
java.awt.event
Eventos
- Tipos de eventos:
- clicks
- selección de elementos
- teclas
- Objetos implicados en la gestión de evento:
- origen del evento
- listener de evento
- Asociación de evento(Repartidor de evento): Asociación de origen y escuchador:
http://java.sun.com/j2se/1.4.2/docs/api/java/util/EventListener.html
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/event/WindowListener.html
http://java.sun.com/j2se/1.4.2/docs/api/java/util/EventObject.html
* Object o=event.getSource();
http://java.sun.com/j2se/1.4.2/docs/api/java/awt/AWTEvent.html
AWT: ejemplos para desarrollar herencia y asociacion
diferentes formas de implementar un listener y repercusiones en la comunicación oop(herencia de button, listener o evento)
GUICE: ejemplo para mostrar asociacion-agregacion
No hay comentarios:
Publicar un comentario