Назад к вопросам
Junior — Middle
68
Объясните принцип использования паттерна Wrapper в компонентах и его назначение.
Ответ от нейросети
sobes.tech AI
Паттерн Wrapper (обёртка) в компонентах используется для добавления дополнительной функциональности к существующему объекту без изменения его кода. Это достигается путём создания нового класса, который содержит ссылку на оригинальный объект и переопределяет или расширяет его поведение.
Назначение паттерна Wrapper:
- Инкапсуляция дополнительной логики (например, логирование, проверка прав, кэширование).
- Изменение интерфейса или адаптация объекта к другому интерфейсу.
- Упрощение или ограничение доступа к функционалу оригинального объекта.
Пример на Java:
interface Service {
void execute();
}
class RealService implements Service {
public void execute() {
System.out.println("Выполнение основной логики");
}
}
class ServiceWrapper implements Service {
private Service wrapped;
public ServiceWrapper(Service wrapped) {
this.wrapped = wrapped;
}
public void execute() {
System.out.println("Перед выполнением");
wrapped.execute();
System.out.println("После выполнения");
}
}
// Использование:
Service service = new ServiceWrapper(new RealService());
service.execute();
В этом примере ServiceWrapper добавляет поведение до и после вызова метода execute оригинального объекта.