Ligação tardia

Definição - o que significa Late Binding?

A vinculação tardia é um processo em tempo de execução de pesquisa de uma declaração, por nome, que corresponde a um tipo especificado exclusivamente. Não envolve a verificação de tipo durante a compilação, quando referenciar bibliotecas, incluindo um objeto, não é necessário.

A vinculação tardia também é conhecida como vinculação dinâmica e, informalmente, como digitação de pato e vinculação de nome.

Definirtec explica Late Binding

Por causa do suporte de vínculo dinâmico por meio de vinculação tardia em tempo de execução, um processo pode continuar a execução, mesmo se uma biblioteca de vínculo dinâmico (DLL) não existir, tomando um caminho de execução alternativo após verificar a disponibilidade. A associação tardia facilita o trabalho com tipos genéricos, o que significa que o mesmo tipo para atribuição de objetos diferentes pode ser reutilizado. A ligação tardia forma a base para um potencial polimorfismo.

Originalmente introduzido em Smalltalk, a Microsoft adotou o conceito de ligação tardia em sua tecnologia de modelo de objeto de componente (COM). Outras implementações de ligação tardia incluem despacho dinâmico em Java, introspecção e reflexão de tipo em .NET, tempo de execução de linguagem dinâmica em C # 4.0 e execução de procedimentos armazenados em Linguagem de Procedimentos / Linguagem de Consulta Estruturada (PL / SQL) e Ada.

As principais desvantagens da ligação tardia são:

  • Desempenho do aplicativo lento.
  • Não oferece benefícios de autocompletar código em comparação com a vinculação inicial.

A ligação tardia é geralmente usada em cenários onde uma interface de objeto exata é desconhecida no tempo de design ou onde a interação com vários servidores desconhecidos invoca funções por nomes. Ele também é usado como uma solução alternativa para problemas de compatibilidade entre várias versões de um componente modificado incorretamente. Portanto, a compensação entre flexibilidade e desempenho deve ser avaliada antes do desenvolvimento do aplicativo.