Встречается на собеседованиях • сегодня

Работал ли с Proxy паттерном

Да, Proxy — это структурный паттерн, который предоставляет суррогатный объект, контролирующий доступ к другому объекту. Используется для ленивой инициализации, контроля доступа, логирования и кеширования.

Пример:

java
interface Image {
    void display();
}

class RealImage implements Image {
    private String filename;

    public RealImage(String filename) {
        this.filename = filename;
        loadFromDisk();
    }
text
private void loadFromDisk() {
    System.out.println("Loading " + filename);
}

public void display() {
    System.out.println("Displaying " + filename);
}

}

class ProxyImage implements Image {
private RealImage realImage;
private String filename;

text
public ProxyImage(String filename) {
    this.filename = filename;
}

public void display() {
    if (realImage == null) {
        realImage = new RealImage(filename); // Ленивая загрузка
    }
    realImage.display();
}

}

// Использование
Image image = new ProxyImage("test.jpg");
image.display(); // Загрузит и отобразит
image.display(); // Только отобразит (объект уже создан)

text
**Типы Proxy:**  
- Virtual Proxy — отложенная инициализация.  
- Protection Proxy — контроль доступа.  
- Remote Proxy — работа с удалёнными объектами.  
- Smart Proxy — логирование, кеширование.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы