Sobes.tech
Назад к вопросам
Junior — Middle
81

Можете объяснить conceito декоратора и как он применяется в Java?

Компании, где спрашивали
Digital Zone

Ответ от нейросети

sobes.tech AI

Декоратор — это структурный паттерн проектирования, который позволяет динамически добавлять объектам новые обязанности, оборачивая их в другие объекты-декораторы.

В Java это часто реализуется через интерфейсы и композицию. Например, если есть интерфейс Component, то декоратор реализует этот же интерфейс и содержит ссылку на объект Component, которому делегирует вызовы, добавляя при этом дополнительное поведение.

Пример:

interface Component {
    void operation();
}

class ConcreteComponent implements Component {
    public void operation() {
        System.out.println("Основная операция");
    }
}

class Decorator implements Component {
    private Component component;

    public Decorator(Component component) {
        this.component = component;
    }

    public void operation() {
        System.out.println("Дополнительное поведение до");
        component.operation();
        System.out.println("Дополнительное поведение после");
    }
}

// Использование
Component comp = new Decorator(new ConcreteComponent());
comp.operation();

Так можно расширять функциональность без изменения исходного кода.