Junior — Middle
Proxy deseni, orijinal nesne için aracı olarak nasıl rol oynar?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java'daki Proxy deseni, müşteri ile orijinal nesne arasında bir aracı görevi görür. Proxy, bu nesneye erişimi kontrol eder, orijinal neslin metod çağrılarına ek mantık ekleyebilir, örneğin önbellekleme, erişim izinlerini kontrol etme, tembel başlatma veya günlük kaydı.
Bu şekilde, müşteri Proxy ile orijinal nesne gibi etkileşime girer, ancak Proxy çağrıları yönetir ve davranışı orijinal nesli değiştirmeden değiştirebilir.
Örnek:
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ükleniyor " + filename);
}
public void display() {
System.out.println("Görüntüleme " + 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); // tembel oluşturma
}
realImage.display();
}
}
// Kullanım:
Image image = new ProxyImage("foto.jpg");
image.display(); // yükleme ve gösterim
image.display(); // sadece gösterim, tekrar yüklenmez
Bu örnekte, Proxy gerçek nesneye erişimi ve oluşturmayı kontrol eder, kaynak kullanımını optimize eder.