Sobes.tech
Junior — Middle

Aká vnútorná štruktúra a komponenty sú implementované v návrhovom vzore Proxy?

sobes.tech AI

Odpoveď od AI

Vzor Proxy v jazyku Java implementuje náhradný objekt, ktorý kontroluje prístup k inému objektu (skutočnému subjektu). Interná štruktúra zahŕňa:

  • Subject (rozhranie) — definuje spoločné rozhranie pre skutočný objekt a proxy.
  • RealSubject — skutočný objekt, ku ktorému sa pristupuje.
  • Proxy — náhradný objekt, ktorý obsahuje odkaz na RealSubject a implementuje rovnaké rozhranie Subject.

Proxy môže pridávať ďalšiu logiku pri prístupe k RealSubject, ako je lenivé inicializovanie, kontrola prístupu, caching alebo logovanie.

Príklad:

interface Subject {
    void request();
}

class RealSubject implements Subject {
    public void request() {
        System.out.println("Vykonávanie požiadavky v RealSubject");
    }
}

class Proxy implements Subject {
    private RealSubject realSubject;

    public void request() {
        if (realSubject == null) {
            realSubject = new RealSubject();
        }
        System.out.println("Proxy: doplnková logika pred volaním RealSubject");
        realSubject.request();
    }
}