Encuadernación tardía

Definición: ¿Qué significa Enlace tardío?

La vinculación tardía es un proceso en tiempo de ejecución de buscar una declaración, por nombre, que corresponde a un tipo especificado de forma única. No implica la verificación de tipos durante la compilación, cuando no es necesario hacer referencia a bibliotecas, incluido un objeto.

El enlace tardío también se conoce como enlace dinámico y, de manera informal, como escritura de pato y enlace de nombre.

Techinfo explica el enlace tardío

Debido al soporte de enlace dinámico a través del enlace tardío en tiempo de ejecución, un proceso puede continuar la ejecución, incluso si no existe una biblioteca de enlace dinámico (DLL), tomando una ruta de ejecución alternativa después de verificar la disponibilidad. El enlace tardío facilita el trabajo con tipos genéricos, lo que significa que se puede reutilizar el mismo tipo para asignar diferentes objetos. La unión tardía forma la base del posible polimorfismo.

Presentado originalmente en Smalltalk, Microsoft adoptó el concepto de enlace tardío en su tecnología de modelo de objetos componentes (COM). Otras implementaciones de enlace tardío incluyen envío dinámico en Java, introspección y reflexión de tipos en .NET, tiempo de ejecución de lenguaje dinámico en C # 4.0 y ejecución de procedimientos almacenados en Lenguaje de procedimiento / Lenguaje de consulta estructurado (PL / SQL) y Ada.

Las principales desventajas de la encuadernación tardía son:

  • Rendimiento de la aplicación lento.
  • No proporciona beneficios de finalización de código, en comparación con el enlace anticipado.

El enlace tardío se usa generalmente en escenarios donde se desconoce una interfaz de objeto exacta en el momento del diseño, o donde la interacción con múltiples servidores desconocidos invoca funciones por nombres. También se utiliza como solución para problemas de compatibilidad entre varias versiones de un componente modificado incorrectamente. Por lo tanto, el compromiso entre flexibilidad y rendimiento debe sopesarse antes del desarrollo de la aplicación.