[C con Clase] Handlers

Davidson, Steven srd4121 en njit.edu
Lun Feb 2 14:36:45 CET 2015


Hola Miguel Alejandro,

En general, es una función que se encarga de procesar algo; ya séase
eventos (event handler), señales de comunicación (signal handler), ficheros
(file handler), etc.. No es un término académico. Cada diseñador y
programador usa el término de "rutina responsable" de diferente manera;
llámese, "handler", "fúnctor", "delegado", "gestor", "procedimiento", y
algún que otro término más.

Por ejemplo, puede ser algo así:

void gestorMensajes( Mensaje *pMensaje )
{
  if( !pMensaje )  return;

  switch( pMensaje->nMensaje )
  {
    case 0: ...
    case 1: ...
    case 2: ...
    case 3: ...
    case 4: ...
    ...
  }
}

Otra forma puede ser más orientada a objetos, como un fúnctor:

class gestorCerrarVentana : public IGestor
{
  virtual bool realizarAccion()  {...}
  ...
};
...
Ventana obj = new Ventana( 0,0, 1024, 768 );
obj.registrarGestor( Mensaje::CERRAR_VENTANA, new gestorCerrarVentana );

O algo parecido a esto.


Espero haber aclarado la duda.

Steven


2015-02-02 7:52 GMT-05:00 Miguel Alejandro Jimenez Ramirez <
cerberbero en gmail.com>:

> Buenos dias a todos l averdad les escribo por que tengo una duda
> contextual. Alguno podria explicarme en palabras simples , que es lo
> que significan los handlers y para que se utilizan la mayor parte del
> tiempo.
>
> Estoy verificando un codigo para podezr implementar algo parecido. No
> voy a entrar en detalles del tema. Pero hace mucho tiempo no program y
> ahora me veo obligado a utilizer handlers pero me encuentro que el
> concepto no es tan sencillo. entonces , como siempre he recibido muy
> buenas explicaciones de esta pagina.
>
> Pues me atrevo a lanzar esta pregunta.
>
> En espera de sus comentarios , muchas gracias.
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.conclase.net/pipermail/cconclase_listas.conclase.net/attachments/20150202/cb575f90/attachment.html>


Más información sobre la lista de distribución Cconclase