Índice
0. Introducción1. Metrónomo
2. Caldera
3. Eventos en Aplicacionese WinForms (Edición Vídeo-tutorial)
4. Conclusiones
5. Glosario
6. Literatura & Enlaces
0. Introducción
Este último artículo de la serie de eventos en C# estará dedicado a desarrollar tres ejemplos: el primero consistirá en ampliar el ejemplo de metrónomo de la sección 2.2.1 del primer artículo introductorio a eventos; el segundo es una caldera (máquina) que notifica a través de dos diferentes medios (registro de archivo y salida estándar) el momento en que se requiere un mantenimiento de la maquinaria interna de la caldera, el último es la versión en formato vídeo-tutorial del ejemplo de eventos en aplicaciones con interfaz gráfica de la parte 4 (Eventos en Aplicaciones WinForms).
1. Metrónomo
En este primer ejemplo vamos a mejorar o agregar nuevas definiciones: precisamente la clase contenedora de datos de los eventos de las acciones del metrónomo. (En la Figura 1 se muestra el diagrama UML con el modelo de clases.)
Figura 1. Diagrama UML con el modelo de Metronomo. |
En las líneas 7-22 se define la clase HoraTicEventArgs que corresopnde con la clase contenedora de los datos de evento tic (cada vez que el metrónomo hace una marca o registro).
En la clase Metronomo (líneas 24-54) se definen los siguientes artefactos:
- TicEventHandler: es el delegado personalizado encargado de manejar los métodos que responden al evento de tic.
- Tic: evento de marca o tic del metrónomo.
- Iniciar: inicia el funcionamiento del metrónomo.
La clase Subscriptor es una clase cliente que registra el método para atender las marcas o tics del metrónomo: Accion.
Compilación:
- csc /target:exe Metronomo.cs
Ejecución assembly:
- .\Metronomo.exe
Resultado:
Figura 2. Prueba de ejecución de aplicación Metronomo. |
2. Caldera
En este segundo ejemplo vamos a construir una aplicación basada en el siguiente modelo (diagrama UML).
Figura 3. Modelo del mundo del problema aplicación Caldera. |
En las líneas 10-39 se declara la clase Caldera; la cual no hace uso de construcciones intermedias o avanzadas de C#. En la clase ControladorCaldera (líneas 44-79) se crean las siguientes definiciones:
- Delegado RegistroCalderaEventHandler: con tipo de retorno void y un parámetro string.
- Evento RegistroCaldera: evento de tipo RegistroCalderaEventHandler.
- Método ProcesoRegistro: Implementación de control del estado de la caldera.
- OnEventoRegistro: Se activa cuando se ha superado el umbral de mantenimiento de la caldera se alcanza.
En las líneas 84-105 se define la clase RegistroArchivo que es la encargada de crear un registro en un archivo de texto plano de los mensajes de estado de la caldera. Más adelante, precisamente en las líneas 107-130, se crea la aplicación cliente para registrar los métodos al manejador de eventos (event handler) en la instancia eventoControladorCaldera (ControladorCaldera).
Compilación:
- csc /target.exe Caldera.cs
Ejecución assembly:
- .\Caldera.exe
Resultado en archivo de texto (registrocaldera.txt):
Información de Registro:
Temperatura: 100
Presión: 12
Mensaje: Se requiere mantenimiento
Temperatura: 100
Presión: 12
Mensaje: Se requiere mantenimiento
3. Eventos en Aplicaciones WinForms (Edición Vídeo-tutorial)
Este tercer ejemplo presento la edición en vídeo-tutorial del proyecto WinForms presentado en la parte 4 de la serie de Eventos en C#: Eventos en Aplicaciones WinForms.
Para el vídeo tutorial utilizamos la clase Calculadora:
Vídeo-tutorial:
4. Conclusiones
El desarrollo de estos tres ejemplos (i.e., Metrónomo, Caldera, y Eventos en Aplicaciones WinForms) tuvo como propósito afianzar el conocimiento y práctica de eventos en C#. Con esta quinta parte cerramos esta serie de artículos, en donde hemos aprendido los conceptos esenciales de eventos para así poder hacer frente a conceptos relacionados del mismo nivel o más avanzado.
5. Glosario
- Aplicación
- Ejecución
- Event handler
- Evento
- Metrónomo
- Vídeo-tutorial
- WinForms
6. Literatura & Enlaces
[1]: C# 5.0 in a Nutshell by Joseph Albahari and Ben Albahari. Copyright 2012 Joseph Albahari and Ben Albahari, 978-1-449-32010-2.
J
Es muy útil y lleva mucho tiempo usar aplicaciones para eventos.
ResponderEliminarApp para Eventos