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();
}
}