Java Reference
In-Depth Information
Beispiel für ein Dependency Look-Up mit Hilfe einer Registry
Im Folgenden wird die Technik Dependency Look-Up anhand eines Beispiels verdeut-
licht. Als Beispiel wird ein Plotter betrachtet, dessen Aufgabe es ist, eine Reihe von
Daten, die von einer Datenquelle erzeugt werden, aufzubereiten und grafisch darzu-
stellen. Die Klasse Plotter aggregiert das Interface IDatenquelle , welches auf
verschiedene Arten realisiert werden kann. In diesem Beispiel wird das Interface
IDatenquelle von der Klasse DatenquelleImpl realisiert. Alle vorhandenen Rea-
lisierungen einer Datenquelle werden in einer Registratur verwaltet. Die Klasse Plot-
ter verwendet die Registratur, um eine konkrete Datenquelle auszuwählen, damit die
darin enthaltene Datenreihe dann dargestellt werden kann. Hier das Interface IDa-
tenquelle :
// Datei: IDatenquelle.java
import java.awt.Point;
import java.util.ArrayList;
public interface IDatenquelle
{
public ArrayList<Point> getDatenreihe();
}
In der Klasse DatenquelleImpl wird eine konkrete Datenreihe aus Zufallszahlen ge-
neriert:
// Datei: DatenquelleImpl.java
import java.awt.Point;
import java.util.ArrayList;
public class DatenquelleImpl implements IDatenquelle
{
public ArrayList<Point> getDatenreihe()
{
ArrayList<Point> datenreihe = new ArrayList<Point>();
int anzPunkte = (int)(Math.random()*30)+2;
int startPunkt = -1*(int)(Math.random()*30);
for (int x = startPunkt; x < anzPunkte; x++)
{
datenreihe.add(new Point(x,(int)(Math.random()*20)-
(int)(Math.random()*20)));
}
return datenreihe;
}
}
Die Klasse Registratur dient in diesem Beispiel der Verwaltung aller existierenden
Datenquellen. Bei der Klasse Registratur wurde das Singleton-Muster (siehe Ka-
pitel 4.20) eingesetzt, da von dieser Klasse nur ein einziges Objekt existieren darf. Die
Klasse Registratur kann nicht nur Datenquellen verwalten, sondern es können bei
ihr beliebige Objekte registriert werden. Nachfolgend der Quelltext der Klasse Regis-
tratur :
Search WWH ::




Custom Search