Junior — Middle
Kaip veikia Proxy modelis kaip tarpininkas originaliam objektui?
sobes.tech AI
Atsakymas iš AI
Java Proxy modelis veikia kaip tarpininkas tarp kliento ir originalaus objekto. Proxy kontroliuoja prieigą prie šio objekto, gali pridėti papildomą logiką prieš arba po originalo metodų kvietimo, pvz., talpyklą, prieigos teisių patikrinimą, tingų inicializaciją arba žurnalavimą.
Taip klientas sąveikauja su Proxy taip pat kaip su originaliu objektu, tačiau Proxy valdo kvietimus ir gali keisti elgesį nesikeisdamas pačio originalo objekto.
Pavyzdys:
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("Kraunasi " + filename);
}
public void display() {
System.out.println("Rodoma " + 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); // tingus sukūrimas
}
realImage.display();
}
}
// Naudojimas:
Image image = new ProxyImage("photo.jpg");
image.display(); // įkėlimas ir rodymas
image.display(); // tik rodymas, pakartotinai neįkelia
Šiame pavyzdyje Proxy kontroliuoja tikrąjį objekto sukūrimą ir prieigą, optimizuoja išteklių naudojimą.