atrapando - rompecabezas en línea
En programación de computadoras, se conoce como handle a un tipo particular de punteros "inteligentes". Los handles son utilizados cuando un programa hace referencia a bloques de memoria u objetos controlados por otros sistemas, tales como una base de datos o un sistema operativo.
Mientras que un puntero literalmente contiene la dirección en la memoria de algún "objeto", un handle es una referencia abstracta y controlada de manera independiente por el sistema, permitiendo que la referencia pueda ser reubicada en la memoria por el sistema sin invalidar el handle - imposible de realizar con punteros - y de ahí el nombre en inglés handle, que significa "tirador" o "manija", en el sentido de que mediante él se controla o maniobra. La capa extra de indirección también incrementa el control que el sistema tiene para maniobrar sobre operaciones llevadas a cabo sobre el referente (ver ocultamiento de información, encapsulación).
Los handles fueron una solución popular para el manejo de memoria en los sistemas operativos desarrollados en los años 1980, tales como Mac OS y Windows.[1] En Unix los descriptores de archivos son esencialmente handles. Como en otros entornos de escritorio, el API de Windows utiliza handles intensamente para representar objetos en el sistema y provee de un canal de comunicaciones entre el sistema operativo y el espacio de usuario.