Qué es un controlador [cerrado]


86

Hola, estoy tratando de aprender algunos términos relacionados con la programación y, a menudo, me encuentro con la palabra "controlador". ¿Alguien puede explicar qué significa manipulador y cuándo usar el término?

Respuestas:


86

Un manejador es una rutina / función / método que se especializa en un cierto tipo de datos o se enfoca en ciertas tareas especiales.

Ejemplos:

  • Controlador de eventos: recibe y asimila eventos y señales del sistema circundante (por ejemplo, SO o GUI).

  • Controlador de memoria: realiza ciertas tareas especiales en la memoria.

  • Controlador de entrada de archivos: una función que recibe la entrada de archivos y realiza tareas especiales en los datos, todo dependiendo del contexto, por supuesto.


6
Manejadores de señales: para manejar 'eventos' de señales.
Jonathan Leffler

12

Código que está asociado con la ocurrencia de un evento específico y desencadenado por la ocurrencia de un evento específico, como un mensaje entrante, una excepción lanzada, una señal enviada a un proceso, una solicitud de E / S de red completada o un clic del mouse en un elemento de la interfaz de usuario. Es un término muy genérico.


2
Eso es un controlador de eventos. El OP estaba preguntando por el término menos específico "manipulador".
Jimbo

8

Creo que es un término muy general, sin una definición "dura". El significado es muy contextual, varía según el diseño del código general.

Para mí, generalmente significa un código que se llama desde un núcleo interno y se supone que hace algunas cosas y regresa. Esa parte 'interna' puede tener varios 'manejadores' disponibles y elige a cuál llamar.

En algunos casos, define alguna API para que esos controladores sean en su mayoría intercambiables, de modo que la persona que llama pueda elegir uno de una tabla y usar el mismo código para llamar a cualquiera de ellos. OOP ayuda mucho aquí.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.