Sobes.tech
Junior — Middle

Hoe fungeert het Proxy-patroon als tussenpersoon voor het originele object?

sobes.tech AI

Antwoord van AI

Het Proxy-patroon in Java fungeert als een tussenpersoon tussen de client en het originele object. Proxy controleert de toegang tot dit object, kan extra logica toevoegen vóór of na het aanroepen van de methoden van het origineel, zoals caching, toegangscontrole, lazy initialisatie of logging.

Op deze manier communiceert de client met de Proxy alsof het het originele object is, maar de Proxy beheert de aanroepen en kan het gedrag aanpassen zonder het originele object te wijzigen.

Voorbeeld:

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("Laden " + filename);
    }

    public void display() {
        System.out.println("Weergeven " + 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 creatie
        }
        realImage.display();
    }
}

// Gebruik:
Image image = new ProxyImage("foto.jpg");
image.display(); // laden en weergeven
image.display(); // alleen weergeven, geen herladen

In dit voorbeeld controleert de Proxy de creatie en toegang tot het echte object, optimaliseert het gebruik van bronnen.