Java Reference
In-Depth Information
Wir haben das Proxy-Prinzip jetzt an einem Beispiel aus dem täglichen Leben und einem
Client-Server-Szenario erläutert. Die in diesem Zusammenhang erwähnten Proxies waren
statischer Natur. Dies bedeutet, dass sie für eine ganz spezielle Schnittstelle (HTTP, Form
einer Steckdose für ein bestimmtes Land) angefertigt worden sind. Im restlichen Teil dieses
Kapitels geht es jetzt wieder um das Zusammenwirken von Java-Objekten. Unter Schnittstel-
len verstehen wir ab jetzt wieder Java-Schnittstellen. In diesem Kontext ist ein dynamischer
Proxy ein Stellvertreterobjekt einer Klasse, wobei diese Klasse dynamisch (d. h. zur Lauf-
zeit) aufgrund einer oder mehrerer vorgegebenen Schnittstellen erzeugt wird.
Dynamische Proxies werden im Zusammenhang mit Komponenten-So ware z. B. bei der
aspektorientierten Programmierung (s. später) eingesetzt. Zum leichteren Verständnis
dynamischer Proxies betrachten wir zunächst den statischen Fall.
4 .1 Statische Proxies
Statische Proxies werden vor dem Starten eines Programms erzeugt. Wir betrachten als
Basis für ein nachfolgendes Beispiel mit statischem Proxy das Beispielprogramm in Listing
4.1.
Listing 4.1 Nutzung eines Objekts über eine Schnittstelle ohne Proxy
package javacomp.basics;
interface Counter
{
public int add(int i);
public int sub(int i);
}
class CounterImpl implements Counter
{
private int c;
public int add(int i)
{
c += i;
return c;
}
public int sub(int i)
{
c -= i;
return c;
}
}
public class Main
{
private static void useCounter(Counter counter)
{
//z.B.
 
Search WWH ::




Custom Search