Définition - Que signifie la liaison tardive?
La liaison tardive est un processus d'exécution consistant à rechercher une déclaration, par nom, qui correspond à un type spécifié de manière unique. Cela n'implique pas de vérification de type lors de la compilation, lorsque le référencement de bibliothèques, y compris un objet, n'est pas requis.
La liaison tardive est également connue sous le nom de liaison dynamique et, de manière informelle, de typage canard et de liaison de nom.
Definir Tech explique la liaison tardive
En raison de la prise en charge de la liaison dynamique via une liaison tardive au moment de l'exécution, un processus peut continuer l'exécution, même si une bibliothèque de liens dynamiques (DLL) n'existe pas, en prenant un autre chemin d'exécution après avoir vérifié la disponibilité. La liaison tardive facilite le travail avec des types génériques, ce qui signifie que le même type d'attribution d'objets différents peut être réutilisé. La liaison tardive constitue la base d'un polymorphisme potentiel.
Initialement introduit dans Smalltalk, Microsoft a adopté le concept de liaison tardive dans sa technologie de modèle d'objet composant (COM). D'autres implémentations de liaison tardive incluent la répartition dynamique en Java, l'introspection et la réflexion de type dans .NET, le langage d'exécution dynamique en C # 4.0 et l'exécution de procédures stockées en langage procédural / langage de requête structuré (PL / SQL) et Ada.
Les principaux inconvénients de la reliure tardive sont:
- Ralentissement des performances des applications.
- Ne fournit pas d'avantages de complétion de code, par rapport à la liaison anticipée.
La liaison tardive est généralement utilisée dans les scénarios où une interface d'objet exacte est inconnue au moment du design, ou lorsque l'interaction avec plusieurs serveurs inconnus appelle des fonctions par des noms. Il est également utilisé comme solution de contournement pour les problèmes de compatibilité entre plusieurs versions d'un composant incorrectement modifié. Ainsi, le compromis entre flexibilité et performances doit être pesé avant le développement de l'application.