Java Reference
In-Depth Information
suchende Objekt den Namen des gesuchten Objekts kennen muss, allerdings aber
nicht mehr die Details über das gesuchte Objekt wie beispielsweise dessen Klasse.
Dependency Look-Up bedeutet, dass ein Objekt seine Verknüp-
fung mit einem anderen Objekt zur Laufzeit herstellt, indem es
nach diesem anderen Objekt über den Objektnamen zur Laufzeit
sucht.
Das gesuchte Objekt kann selber wieder verknüpft sein. Ob diese weiteren Verknüp-
fungen bereits hergestellt sind oder nicht, hängt von der Anwendung ab. Prinzipiell
kann die Suche rekursiv fortgesetzt werden, bis alle Verknüpfungen aufgelöst sind.
Dadurch können die Verknüpfungen sehr flexibel hergestellt werden, was beispiels-
weise bei Objekten von Vorteil ist, die von Frameworks erzeugt werden, aber noch
Verknüpfungen zu den Objekten der Anwendung benötigen.
Zur Unterstützung eines Dependency Look-Up gibt es mehrere Möglichkeiten:
x Die einfachste Möglichkeit hierzu ist, die benötigten Objekte in einer zentralen
Klasse zu halten, auf die alle anfragenden Objekte Zugriff haben. Wird ein Objekt
oder eine Beziehung über den Objektnamen in dieser zentralen Klasse gesucht,
erhält das suchende Objekt alles, was es braucht. Es braucht also de facto nur den
Namen eines anderen Objekts zu kennen.
Eine weitere Möglichkeit besteht im Einsatz einer Registratur (engl. registry ). Die
erzeugten Objekte werden registriert, also in eine Registratur eingetragen. Wird ein
Objekt für eine Verknüpfung benötigt, wird bei der Registratur über den Objekt-
namen nach einem entsprechenden Objekt gesucht. Die Registratur liefert eine Re-
ferenz auf das gesuchte Objekt zurück, womit dann eine Verknüpfung hergestellt
werden kann.
x Eine häufig eingesetzte Lösung ist es, alle in einer Anwendung benötigten Objekte
in einem Container -Objekt als Behälter zu halten und nur die Referenz auf dieses
Container-Objekt allen anfragenden Objekten zur Verfügung zu stellen. Im Pro-
grammcode können dann über dieses Container-Objekt die benötigten Objekte ab-
gefragt werden 15 . Je nach Implementierung des Containers kann entweder ein Pro-
grammierer dafür zuständig sein, das Container-Objekt mit Objekten zu füllen und
ggf. Verknüpfungen zwischen ihnen herzustellen, oder das Container-Objekt ist -
beispielsweise mit Hilfe von Properties-Dateien (siehe Kapitel 1.10.2) - selbst in der
Lage, die benötigten Objekte und ihre Verknüpfungen zu erzeugen. Die Objekte
erhalten dabei ihre Verknüpfungen zu den zugehörigen Objekten von dem Con-
tainer-Objekt als Dienstleistung. Damit dieser Dienst genutzt werden kann, muss er
den Objekten bekannt sein und damit sind die Objekte von diesem Dienst abhän-
gig . Allerdings sind sie untereinander unabhängig, was ja das Ziel dieses Ansatzes
ist.
15 Dies kann mehr oder weniger als eine Verallgemeinerung des Musters Objektpool (siehe Kapitel
4.21) gesehen werden, da die in einem Container-Objekt gespeicherten Objekte gänzlich unter-
schiedliche Typen haben können.
Search WWH ::




Custom Search