Junior — Middle
Ինչպե՞ս է Proxy ձևանմուշը հանդես գալիս որպես միջնորդ սկզբնական օբյեկտի համար։
sobes.tech AI
Պատասխան AI-ից
Java-յի Proxy մոդելը գործում է որպես միջնորդ հաճախորդի և սկզբնական օբյեկտի միջև: Proxy-ն վերահսկում է այդ օբյեկտի մուտքը, կարող է ավելացնել լրացուցիչ տրամաբանություն սկզբնական մեթոդների կանչելուց առաջ կամ հետո, ինչպիսիք են կեշավորումը, մուտքի իրավունքների ստուգումը, ծույլ սկզբնավորումը կամ գրանցումը:
Այսպիսով, հաճախորդը փոխազդում է Proxy- ի հետ նույն կերպ, ինչպես սկզբնական օբյեկտի հետ, բայց Proxy- ն կառավարում է կանչերը և կարող է փոխել վարքագիծը առանց ինքնին սկզբնական օբյեկտը փոխելու:
Օրինակ:
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("Բեռնում " + filename);
}
public void display() {
System.out.println("Ցուցադրում " + 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); // ծույլ ստեղծում
}
realImage.display();
}
}
// Օգտագործում:
Image image = new ProxyImage("photo.jpg");
image.display(); // բեռնում և ցուցադրում
image.display(); // միայն ցուցադրում, կրկնակի բեռնում չի կատարվում
Այս օրինակով Proxy- ն վերահսկում է իրական օբյեկտի ստեղծումը և մուտքը, օպտիմալացնելով ռեսուրսների օգտագործումը։