lunes, 13 de septiembre de 2010

PROGRAMACION ORIENTADA A EVENTOS



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