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.
Check Point warnt vor offener Schwachstelle, die derzeit von Hackern für Phishing ausgenutzt wird.
Video-Babyphones sind ebenfalls betroffen. Cyberkriminelle nehmen vermehrt IoT-Hardware ins Visier.
Der Downloader hat hierzulande im April einen Anteil von 18,58 Prozent. Im Bereich Ransomware ist…
Unternehmen greifen von überall aus auf die Cloud und Applikationen zu. Dementsprechend reicht das Burg-Prinzip…
Hacker nutzen eine jetzt gepatchte Schwachstelle im Google-Browser bereits aktiv aus. Die neue Chrome-Version stopft…
Microsoft bietet seit Anfang der Woche einen Patch für die Lücke. Kaspersky-Forscher gehen davon aus,…