Junior — Middle
Wie agiert das Proxy-Muster als Vermittler für das Originalobjekt?
sobes.tech KI
Antwort von AI
Das Proxy-Muster in Java fungiert als Vermittler zwischen dem Client und dem Originalobjekt. Der Proxy kontrolliert den Zugriff auf dieses Objekt, kann zusätzliche Logik vor oder nach dem Aufruf der Methoden des Originals hinzufügen, wie Caching, Zugriffsberechtigungsprüfung, Lazy-Initialisierung oder Protokollierung.
Auf diese Weise interagiert der Client mit dem Proxy wie mit dem Originalobjekt, aber der Proxy verwaltet die Aufrufe und kann das Verhalten ändern, ohne das Originalobjekt zu modifizieren.
Beispiel:
interface Image {
void display();
}
class RealImage implements Image {
private String filename;
public RealImage(String filename) {
this.filename = filename;
loadFromDisk();
}
private void loadFromDisk() {
System.out.println("Lade " + filename);
}
public void display() {
System.out.println("Zeige " + filename);
}
}
class ProxyImage implements Image {
private RealImage realImage;
private String filename;
public ProxyImage(String filename) {
this.filename = filename;
}
public void display() {
if (realImage == null) {
realImage = new RealImage(filename); // Lazy-Erstellung
}
realImage.display();
}
}
// Verwendung:
Image image = new ProxyImage("foto.jpg");
image.display(); // Laden und Anzeigen
image.display(); // Nur Anzeigen, kein erneutes Laden
In diesem Beispiel kontrolliert der Proxy die Erstellung und den Zugriff auf das reale Objekt und optimiert die Ressourcennutzung.