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

В чем разница между Proxy и Adaptor

Proxy и Adapter — это структурные паттерны, но решают разные задачи:

Proxy контролирует доступ к объекту, добавляя промежуточный уровень (логирование, кэширование, ленивую инициализацию). Интерфейс Proxy и реального объекта одинаковый.

java
interface Image {
    void display();
}

class RealImage implements Image {
    public void display() { /* загрузка и отображение */ }
}

class ProxyImage implements Image {
private RealImage realImage;
public void display() {
if (realImage == null) realImage = new RealImage();
realImage.display();
}
}

text

**Adapter** преобразует интерфейс одного класса в интерфейс, ожидаемый клиентом. Используется для совместимости несовместимых интерфейсов.

```java
class LegacyRectangle {
    void draw(int x1, int y1, int x2, int y2) { /* ... */ }
}

interface Shape {
    void draw(int x, int y, int width, int height);
}

class RectangleAdapter implements Shape {
    private LegacyRectangle adaptee;
    public void draw(int x, int y, int w, int h) {
        adaptee.draw(x, y, x + w, y + h);
    }
}

Ключевое отличие: Proxy сохраняет интерфейс, Adapter изменяет его для совместимости.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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