Java Reference
In-Depth Information
Die Situation ist in Bild 4.2 noch einmal grafi sch dargestellt.
Main
:StacProxy3
:StacProxy2
:StacProxy1
:CounterImpl
Bild 4.2 UML-Objektdiagramm zur Hintereinanderschaltung von Proxies
Das Hintereinanderschalten ist ein allgemeines Prinzip von Proxies. Es gilt nicht nur für
statische, sondern auch für dynamische Proxies. Es kann auch bei den eingangs des Kapi-
tels erwähnten Web-Proxies und sogar bei Zeitschaltuhren angewendet werden; bei Zeit-
schaltuhren kann man damit wesentlich vielfältigere Zeitmuster erzeugen als mit nur einer
einzigen Zeitschaltuhr. Aufgrund der breiten Einsetzbarkeit dieses Prinzips wurde es als
Entwurfsmuster klassifi ziert. Bevor wir darauf zu sprechen kommen, wollen wir die Refe-
renz auf das Counter-Objekt, die alle StaticProxy-Klassen als Gemeinsamkeit haben, in eine
gemeinsame Basisklasse auslagern:
abstract class StaticProxy implements Counter
{
protected Counter counter;
public StaticProxy(Counter counter)
{
this.counter = counter;
}
public abstract int add(int i);
public abstract int sub(int i);
}
class StaticProxy1 extends StaticProxy
{
public StaticProxy1(Counter counter)
{
super(counter);
}
public int add(int i)
{
...
}
public int sub(int i)
{
...
}
}
//StaticProxy2 und StaticProxy3 analog:
...
In dieser Form entspricht die Implementierung unserer statischen Proxies, die in Bild 4.3
als UML-Klassendiagramm dargestellt ist, dem Entwurfsmuster Decorator.
 
Search WWH ::




Custom Search