Junior — Middle
Kā darbojas Proxy paraugs kā starpnieks oriģinālajam objektam?
sobes.tech AI
Atbilde no AI
Java Proxy paraugs darbo kā starpnieks starp klientu un oriģinālo objektu. Proxy kontrolē piekļuvi šim objektam, var pievienot papildu loģiku pirms vai pēc oriģināla metožu izsaukšanas, piemēram, kešatmiņu, piekļuves tiesību pārbaudi, slinku inicializāciju vai reģistrēšanu.
Tādējādi klients ar Proxy sadarbojas tāpat kā ar oriģinālo objektu, bet Proxy pārvalda izsaukumus un var mainīt uzvedību bez paša oriģinālā objekta maiņas.
Piemērs:
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("Ielādē " + filename);
}
public void display() {
System.out.println("Attēlo " + 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); // slinka izveide
}
realImage.display();
}
}
// Lietošana:
Image image = new ProxyImage("foto.jpg");
image.display(); // ielāde un attēlošana
image.display(); // tikai attēlošana, atkārtota ielāde nenotiek
Šajā piemērā Proxy kontrolē reālā objekta izveidi un piekļuvi, optimizējot resursu izmantošanu.