Java Reference
In-Depth Information
Im Programmtext sind keine Abhängigkeiten mehr zu sehen, wenn die Abhängigkeiten
in die Konfigurationsdatei ausgelagert wurden. Die Verständlichkeit des Programm-
textes nimmt dadurch aber ab, da der Inhalt einer weiteren Datei betrachtet werden
muss.
Im Folgenden soll kurz skizziert werden, wie ein auf einer Konfigurationsdatei basie-
render Injektor in Java auch selbst programmiert werden kann.
Dependency Injection lässt sich in Java beispielsweise mit Hilfe von sogenannten Pro-
perties-Dateien 16 realisieren. Darin wird die Zuordnung zwischen Referenzen und Ob-
jekten (also die Verknüpfung) festgelegt. Eine Klasse, deren Aufgabe es ist, die Ab-
hängigkeiten zu injizieren, kann eine Properties-Datei lesen und auf Grund der darin
enthaltenen Informationen mit Hilfe der Reflection-API 17 von Java die Objekte erzeu-
gen und die Referenzen entsprechend - beispielsweise über set-Methoden - setzen.
Ein vollständiges Beispiel hierfür ist auf dem begleitenden Webauftritt zu finden.
Die Abhängigkeit zwischen Objekten wird somit aus dem Programmcode in die Pro-
perties-Datei verlagert. Dadurch brauchen die Abhängigkeiten erst beim Starten eines
Programmes vorzuliegen bzw. können sogar noch zur Laufzeit verändert werden.
1.11 Zusammenfassung
Objektorientierte Prinzipien für den Entwurf führen dazu, einen Entwurf
x verständlich,
x korrekt und
x erweiterbar
zu machen.
Dabei betreffen diese Prinzipien sowohl die Konstruktion einzelner Klassen, als auch
ihre Zusammenarbeit (siehe Kapitel 1.1).
Kapselung, Abstraktion und Information Hiding (siehe Kapitel 1.2) führen zu schmalen
Schnittstellen zwischen den einzelnen Objekten.
Separation of Concerns im engeren Sinne und das Single Responsibility-Prinzip führen
dazu, dass jede Klasse eine einzige Verantwortung trägt (siehe Kapitel 1.3).
Das Interface Segregation-Prinzip (siehe Kapitel 1.4) fordert, dass Klassen nicht von
Schnittstellen abhängen sollen, die sie nicht brauchen. Änderungen an nicht benötig-
ten Schnittstellen schlagen somit nicht auf eine Klasse durch.
16 Eine Properties-Datei in Java ist eine Textdatei, die zur Konfiguration einer Anwendung eingesetzt
werden kann. Eine Eigenschaft (engl. property) wird darin in Form eines Textes, der unter einem be-
stimmten Namen abgelegt ist, beschrieben.
17 Die Reflection-API von Java ermöglicht es, zur Laufzeit auf Informationen über Klassen und Objekte
- sogenannte Metadaten - zuzugreifen und diese auch zu modifizieren.
Search WWH ::




Custom Search