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

Что такое паттерн проектирования Proxy

Паттерн Proxy — это структурный паттерн, предоставляющий объект-заместитель, контролирующий доступ к другому объекту. Он добавляет промежуточный слой для выполнения дополнительных действий (логирование, кеширование, проверка прав и т.д.) без изменения основного объекта.

Типы Proxy:

  • Virtual Proxy — откладывает создание ресурсоемкого объекта.
  • Protection Proxy — контролирует доступ к объекту.
  • Remote Proxy — представляет объект в другом адресном пространстве.
  • Smart Proxy — добавляет дополнительную логику (например, подсчет ссылок).

Пример (Virtual Proxy):

java
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("Loading " + filename);
    }
    public void display() {
        System.out.println("Displaying " + 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();
    }
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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