Java Reference
In-Depth Information
gibObjekt(): WiederverwendbareKlasse ,
objektZurueckgeben (o : WiederverwendbareKlasse) .
Mit gibObjekt() fordert ein Client vom Pool ein Objekt vom Typ Wiederverwend-
bareKlasse an, das er exklusiv nutzen will. Sind im Objektpool freie Objekte vom
Typ WiederverwendbareKlasse vorhanden, so erhält der Client eines dieser Ob-
jekte. Damit kann nun der Client beliebige Operationen auf diesem Objekt ausführen.
Wenn der Client dieses Objekt nicht mehr benötigt, ruft der Client objektZurueck-
geben() für den Pool auf. Dies ist in dem folgenden Sequenzdiagramm dargestellt:
:Client
:Objektpool
x:Wiederverwend-
bareKlasse
gibObjekt()
gibObjekt() : x
operation()
operation()
objektZurueckgeben (:x)
objektZurueckgeben()
Bild 4-65 Abholen eines Objekts im Objektpool und Rückgabe
Das Verhalten des Objektpools im Falle, dass bei einer Anfrage gibObjekt() kein
freies Objekt mehr im Pool zur Verfügung steht, wird durch das Muster nicht festgelegt.
So könnte etwa der Objektpool ein neues Objekt erzeugen und dem Client das neu
erstellte Objekt übergeben. Diese Situation ist in Bild 4-65 nicht dargestellt, sondern
das gezeigte Sequenzdiagramm geht davon aus, dass noch freie Objekte verfügbar
sind.
4.21.3.4 Programmbeispiel
Als Beispiel für einen Objektpool wird eine Taxizentrale vorgestellt. Die Taxizentrale
repräsentiert hierbei einen Objektpool, dessen Objekte Taxis sind. Die Zentrale ver-
mittelt freie Taxis an Passagiere, die die Taxis verwenden und nach Gebrauch wieder
an den Objektpool zurückgeben.
Die Klasse Taxi stellt zwei wichtige Methoden zur Verfügung, nämlich dass ein Pas-
sagier einsteigen und am Ziel wieder aussteigen kann:
// Datei: Taxi.java
public class Taxi
{
private Passagier passagier;
private int nummer = 0;
 
Search WWH ::




Custom Search