Java Reference
In-Depth Information
Dies ist ein Unterschied zwischen Frameworks und klassischen Funktionsbibliotheken:
Statt dass die Anwendung den Kontrollfluss steuert und lediglich Funktionen einer
Bibliothek aufruft, wird die Steuerung der Ausführung bestimmter Programmteile an
das Framework abgegeben. Dieses übernimmt dann die Kontrolle. Bei Vorliegen eines
Ereignisses wird die entsprechende Funktion der Anwendung über eine vom Frame-
work vorgegebene Callback-Schnittstelle vom Framework aufgerufen. Hierzu wird ein
Objekt bei einem Framework registriert. Das Framework ruft dann eine Callback-Me-
thode auf, die vom Framework mittels eines Interface vorgegeben ist. Das beim
Framework registrierte Objekt implementiert dieses Interface und kann somit durch die
implementierte Callback-Methode vom Framework benachrichtigt werden.
1.10 Verringerung der Abhängigkeiten bei der Erzeugung
von Objekten
Auch wenn die Techniken zur Erzeugung von Objekten, die im Folgenden beschrieben
werden wie z. B. Dependency Injection, in der Literatur häufig mit dem Begriff In-
version of Control verbunden werden, folgen wir diesem Gedanken nicht. Wir folgen
hier Martin Fowler:
"Inversion of Control is too generic a term, and thus people find it confusing. As a
result with a lot of discussion with various [Inversion of Control] advocates we settled
on the name Dependency Injection." [fowioc]
Der Begriff Inversion of Control wird in diesem Buch also nur im Zusammenhang
mit der Umkehrung des Kontrollflusses verwendet.
Das Dependency Inversion-Prinzip und Inversion of Control stellen letztendlich nur
einen ersten Schritt dar, um Abhängigkeiten zu verringern. Würde ein Objekt einer
Klasse ein Objekt einer anderen Klasse selbst erzeugen, dann würde eine weitere
Abhängigkeit - nämlich eine sogenannte «Create» -Abhängigkeit - entstehen, wie
das folgende Bild zeigt:
Interface
Nutzende-
Klasse
«Create»
Benötigte-
Klasse
Bild 1-15 Neue Abhängigkeit durch die Erzeugung eines Objekts
Die Techniken, um solche «Create» -Abhängigkeiten zu vermeiden, werden im Fol-
genden beschrieben.
 
Search WWH ::




Custom Search