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