Back to questions
Junior — Middle
54
В каких ситуациях в Java Core применяют паттерн Декоратор?
Answer from AI
sobes.tech AI
Паттерн Декоратор в Java Core применяется, когда нужно динамически добавить объекту новые обязанности, не изменяя его исходный класс. Это особенно полезно, если:
- Требуется расширить функциональность объекта без создания множества подклассов.
- Нужно комбинировать поведение нескольких декораторов.
- Желательно сохранить интерфейс объекта для прозрачного использования.
Пример: добавление логирования к объекту, реализующему интерфейс, без изменения его кода.
interface Service {
void execute();
}
class BasicService implements Service {
public void execute() {
System.out.println("Выполнение основной логики");
}
}
class LoggingDecorator implements Service {
private Service wrapped;
public LoggingDecorator(Service service) {
this.wrapped = service;
}
public void execute() {
System.out.println("Лог: начало выполнения");
wrapped.execute();
System.out.println("Лог: окончание выполнения");
}
}
// Использование
Service service = new LoggingDecorator(new BasicService());
service.execute();