Sobes.tech
Junior — Middle

Milyen belső szerkezet és összetevők valósulnak meg a Proxy tervezési mintában?

sobes.tech MI

Válasz az MI-től

A Proxy minta Java-ban egy helyettesítő objektumot valósít meg, amely ellenőrzi a hozzáférést egy másik objektumhoz (a valódi alanyhoz). A belső struktúra a következőket tartalmazza:

  • Subject (interfész) — meghatározza az általános interfészt a valódi objektum és a proxy számára.
  • RealSubject — a valódi objektum, amelyhez hozzáférést biztosítanak.
  • Proxy — egy helyettesítő objektum, amely tartalmaz egy hivatkozást a RealSubject-re, és ugyanazt az Subject interfészt valósítja meg.

A proxy további logikát adhat hozzá a RealSubject eléréséhez, például késleltetett inicializálást, hozzáférés-ellenőrzést, gyorsítótárazást vagy naplózást.

Példa:

interface Subject {
    void request();
}

class RealSubject implements Subject {
    public void request() {
        System.out.println("A kérés végrehajtása a RealSubject-ben");
    }
}

class Proxy implements Subject {
    private RealSubject realSubject;

    public void request() {
        if (realSubject == null) {
            realSubject = new RealSubject();
        }
        System.out.println("Proxy: kiegészítő logika a RealSubject hívása előtt");
        realSubject.request();
    }
}