Späte Bindung

Definition - Was bedeutet Spätbindung?

Die späte Bindung ist ein Laufzeitprozess zum Nachschlagen einer Deklaration nach Namen, die einem eindeutig angegebenen Typ entspricht. Die Typprüfung während der Kompilierung ist nicht erforderlich, wenn keine Referenzierung von Bibliotheken, einschließlich eines Objekts, erforderlich ist.

Späte Bindung wird auch als dynamische Bindung und informell als Ententypisierung und Namensbindung bezeichnet.

Technische.me erklärt Late Binding

Aufgrund der Unterstützung für dynamische Verknüpfungen durch späte Bindung zur Laufzeit kann ein Prozess die Ausführung fortsetzen, auch wenn keine DLL (Dynamic Link Library) vorhanden ist, indem nach Überprüfung der Verfügbarkeit ein alternativer Ausführungspfad verwendet wird. Die späte Bindung erleichtert das Arbeiten mit generischen Typen, was bedeutet, dass derselbe Typ zum Zuweisen verschiedener Objekte wiederverwendet werden kann. Die späte Bindung bildet die Grundlage für einen möglichen Polymorphismus.

Microsoft wurde ursprünglich in Smalltalk eingeführt und hat das Konzept der späten Bindung in seine COM-Technologie (Component Object Model) übernommen. Andere späte Bindungsimplementierungen umfassen den dynamischen Versand in Java, die Introspektion und Reflektion von Typen in .NET, die dynamische Sprachlaufzeit in C # 4.0 und die Ausführung gespeicherter Prozeduren in der prozeduralen Sprache / strukturierten Abfragesprache (PL / SQL) und Ada.

Die Hauptnachteile der späten Bindung sind:

  • Verlangsamte Anwendungsleistung.
  • Bietet keine Vorteile für die Code-Vervollständigung im Vergleich zur frühen Bindung.

Eine späte Bindung wird im Allgemeinen in Szenarien verwendet, in denen eine genaue Objektschnittstelle zur Entwurfszeit unbekannt ist oder in denen die Interaktion mit mehreren unbekannten Servern Funktionen über Namen aufruft. Es wird auch als Problemumgehung für Kompatibilitätsprobleme zwischen mehreren Versionen einer nicht ordnungsgemäß geänderten Komponente verwendet. Daher muss der Kompromiss zwischen Flexibilität und Leistung vor der Anwendungsentwicklung abgewogen werden.