Sobes.tech
Junior — Middle

Proxy nümunəsi orijinal obyekt üçün vasitəçi kimi necə çıxış edir?

sobes.tech Süni İntellekt

AI-dan cavab

Java-da Proxy nümunəsi müştəri ilə orijinal obyekt arasında vasitəçi kimi çıxış edir. Proxy bu obyektə girişə nəzarət edir, orijinalın metod çağırışlarından əvvəl və ya sonra əlavə məntiq əlavə edə bilər, məsələn, keşik, giriş icazələrinin yoxlanması, tənbəl başlatma və ya qeydiyyat.

Beləliklə, müştəri Proxy ilə orijinal obyekt kimi qarşılıqlı əlaqədə olur, lakin Proxy çağırışları idarə edir və davranışı dəyişdirmədən dəyişə bilər.

Nümunə:

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("Yüklənir " + filename);
    }

    public void display() {
        System.out.println("Göstərilir " + 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); // tənbəl yaradılma
        }
        realImage.display();
    }
}

// İstifadə:
Image image = new ProxyImage("foto.jpg");
image.display(); // yükləmə və göstərmə
image.display(); // yalnız göstərmə, yenidən yüklənmir

Bu nümunədə, Proxy real obyektin yaradılması və girişini idarə edir, resursların istifadəsini optimallaşdırır.