Contenidos
Programación dirigida por eventos en C
El cambio de estado de un objeto se conoce como Evento, es decir, el evento describe el cambio de estado de la fuente. Los eventos se generan como resultado de la interacción del usuario con los componentes de la interfaz gráfica. Por ejemplo, hacer clic en un botón, mover el ratón, introducir un carácter a través del teclado, seleccionar un elemento de la lista y desplazar la página son las actividades que provocan la aparición de un evento.
El manejo de eventos es el mecanismo que controla el evento y decide lo que debe suceder si ocurre un evento. Este mecanismo tiene un código que se conoce como manejador de eventos, que se ejecuta cuando ocurre un evento.
El beneficio de este enfoque es que la lógica de la interfaz de usuario está completamente separada de la lógica que genera el evento. El elemento de la interfaz de usuario es capaz de delegar el procesamiento de un evento a una pieza separada de código.
En este modelo, el oyente necesita ser registrado con el objeto fuente para que el oyente pueda recibir la notificación del evento. Esta es una forma eficiente de manejar el evento porque las notificaciones de eventos se envían sólo a aquellos oyentes que quieren recibirlas.
Rascarse
Pero acabamos de modificar una clase que se supone que está cerrada a las modificaciones. Probablemente esté bien para este simple pseudocódigo, pero probablemente sea el camino a la locura en el código de producción. ¿Cuánto tiempo pasará hasta que este método sea 30 líneas de código que apenas tienen relación con el propósito original de crear un nuevo usuario?
Es mucho más agradable dejar que la clase realice su funcionalidad principal y que lance un evento que le diga a quien sea que esté escuchando que un usuario fue registrado, y que pueden tomar cualquier acción que necesiten tomar (como enviar un correo electrónico).
La definición también establece que algunos programas o sistemas son “impulsados por eventos, a menudo con el objetivo de ser interactivos”, de lo que se puede derivar que el propósito o la utilidad de los eventos no son únicamente, sino más bien a menudo, para proporcionar interactividad (como GUIs aunque no necesariamente GUIs, ya que los programas CLI también pueden ser interactivos).
En una carga de trabajo típica de un servidor, gran parte del tiempo de procesamiento de un resultado proviene en realidad de la E/S. Por ejemplo, sacar datos de un disco duro (7200 RPM) puede llevar hasta 8,3 ms. Para un procesador moderno de GHz, eso equivaldría a ~1 millón de ciclos de reloj. Si una CPU tuviera que esperar los datos cada vez (sin hacer nada), perderíamos MUCHOS ciclos de reloj.
Manejo de eventos Java gui
# let get_gc_bcol gc = gc.bcol let get_gc_fcol gc = gc.fcol let get_gc_font gc = gc.font let get_gc_font_size gc = gc.font_size let get_gc_lw gc = gc.lw let get_gc_cur gc = (gc.x,gc.y);;val get_gc_bcol : g_context -> Graphics. color = <fun>val get_gc_fcol : g_contexto -> Graphics.color = <fun>val get_gc_font : g_contexto -> cadena = <fun>val get_gc_font_size : g_contexto -> int = <fun>val get_gc_lw : g_contexto -> int = <fun>val get_gc_cur : g_contexto -> int * int = <fun>
# let set_gc_bcol gc c = gc.bcol <- c let set_gc_fcol gc c = gc.fcol <- c let set_gc_font gc f = gc.font <- f let set_gc_font_size gc s = gc. font_size <- s let set_gc_lw gc i = gc.lw <- i let set_gc_cur gc (a,b) = gc.x<- a; gc.y<-b;;val set_gc_bcol : g_context -> Graphics. color -> unidad = <fun>val set_gc_fcol : g_contexto -> Graphics.color -> unidad = <fun>val set_gc_font : g_contexto -> cadena -> unidad = <fun>val set_gc_font_size : g_contexto -> int -> unidad = <fun>val set_gc_lw : g_contexto -> int -> unidad = <fun>val set_gc_cur : g_contexto -> int * int -> unidad = <fun>
Programación basada en eventos
La interfaz gráfica de usuario (GUI /ˌdʒiːjuːˈaɪ/ JEE-yoo-EYE[1][Nota 1] o /ˈɡuːi/[2] GOO-ee) es una forma de interfaz de usuario que permite a los usuarios interactuar con dispositivos electrónicos a través de iconos gráficos e indicadores de audio, como la notación primaria, en lugar de interfaces de usuario basadas en texto, etiquetas de comandos escritos o navegación de texto. Las interfaces gráficas de usuario se introdujeron como reacción a la percepción de la pronunciada curva de aprendizaje de las interfaces de línea de comandos (CLI),[3][4][5] que requieren que se escriban los comandos en el teclado del ordenador.
Las acciones en una GUI suelen realizarse mediante la manipulación directa de los elementos gráficos[6][7][8] Más allá de los ordenadores, las GUI se utilizan en muchos dispositivos móviles de mano, como reproductores MP3, reproductores multimedia portátiles, dispositivos de juego, smartphones y pequeños controles domésticos, de oficina e industriales. El término GUI tiende a no aplicarse a otros tipos de interfaces de menor resolución de pantalla, como los videojuegos (en los que se prefiere el head-up display (HUD)[9]), o a no incluir las pantallas planas, como las pantallas volumétricas[10] porque el término se restringe al ámbito de las pantallas de visualización bidimensionales capaces de describir información genérica, según la tradición de la investigación informática del Centro de Investigación de Xerox Palo Alto.