Der Begriff „Koppelung“ bezeichnet gewöhnlich das Verbinden zweier Dinge miteinander, etwa die Glieder einer Kette. In der Software-Entwicklung bezieht sich das Wort Koppelung jedoch auf den Grad, in dem Komponenten oder Module voneinander abhängig sind. Der Grad der Koppelung bestimmt, ob sie in einer eng gekoppelten oder einer lose gekoppelten Bindung zueinander stehen. Bei eng gekoppelten Objekten müssen zum Zeitpunkt der Ausführung und des Kompilierens alle Komponenten und alle Hilfsobjekte präsent sein. Lose verknüpfte Objekte können hingegen unabhängig voneinander agieren.
Koppelung beim Kompilieren
Bei der Software-Programmierung werden Koppelungen erzeugt, wenn ein Entwickler normale Programmiertechniken einsetzt, um eine oder mehrere Komponenten miteinander zu verbinden. Wenn zum Beispiel ein C- oder C++-Entwickler eine externe Quelldatei in eine weitere Quelldatei integriert, wird eine Koppelung erstellt. Jeder import– oder include-Befehl stellt eine Koppelung zwischen der aktuellen Klasse oder Datei und der importierten Klasse oder Datei dar. Der folgende Programmabschnitt demonstriert das:
In diesem Programmabschnitt befinden sich zwei Zeilen, die externe Dateien importieren. Der erste Befehl enthält eine Datei namens externalstructs.h, in der MyStruct definiert ist. Der zweite Befehl enthält eine Datei namens externalprocs.h, die die Prozedur dumpStructContents definiert.
Da der Programmabschnitt in C geschrieben ist, werden alle Abhängigkeiten zum Zeitpunkt des Kompilierens erzeugt. Man bezeichnet das als frühe Bindung. Die zum Zeitpunkt des Kompilierens im Programmabschnitt erzeugten Abhängigkeiten sind sehr eng gekoppelt. Jede Änderung an der Struktur von MyStruct oder der Signatur von dumpStructContents erfordert ein erneutes Kompilieren der Datei, die doSomething enthält, und jener, die dumpStructContents enthält.
Koppelung während der Laufzeit
Eine Koppelung findet ebenfalls statt, wenn zwei interagierende Komponenten sich zur Laufzeit im selben Verarbeitungsraum befinden müssen. Diese Art der Koppelung legt fest, dass der Einsatz der einen Komponente vom Vorhandensein der anderen abhängt.
Eine zeitabhängige Koppelung findet statt, wenn eine Komponente in Laufzeit eine Anforderung an eine andere richtet und auf die Antwort der angesprochenen Komponente warten muss. Diese Art der Koppelung nennt man synchroner Aufruf. Sie kann eine Anwendung lahmlegen, falls ein bestimmter Prozess mehr Zeit benötigt, als der Aufrufende entbehren kann. Asynchrone Aufrufe stellen eine Möglichkeit dar, die Komponenten in zeitlicher Hinsicht zu entkoppeln.
Der Cybersecurity Report von Hornetsecurity stuft 2,3 Prozent der Inhalte gar als bösartig ein. Die…
Die Hintermänner haben es auf Zugangsdaten zu Microsoft Azure abgesehen. Die Kampagne ist bis mindestens…
Cloud-Plattform für elektronische Beschaffungsprozesse mit automatisierter Abwicklung elektronischer Rechnungen.
Mindestens eine Schwachstelle erlaubt eine Remotecodeausführung. Dem Entdecker zahlt Google eine besonders hohe Belohnung von…
Nur rund die Hälfte schaltet während der Feiertage komplett vom Job ab. Die anderen sind…
Security-Experten von Check Point sind einer neuen Angriffsart auf die Spur gekommen, die E-Mail-Schutzmaßnahmen umgehen…