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

В каких случаях применяют паттерн Wrapper в программировании?

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

sobes.tech AI

Паттерн Wrapper (обёртка) применяется, когда нужно изменить или расширить поведение существующего объекта без изменения его кода. Это удобно для:

  • Добавления дополнительной логики (например, логирование, проверка прав) вокруг вызовов методов.
  • Приведения интерфейса объекта к другому виду (адаптация).
  • Контроля доступа к объекту.

Пример в Java: обёртка вокруг InputStream для подсчёта количества прочитанных байт.

class CountingInputStream extends InputStream {
    private InputStream wrapped;
    private int count = 0;

    public CountingInputStream(InputStream wrapped) {
        this.wrapped = wrapped;
    }

    @Override
    public int read() throws IOException {
        int b = wrapped.read();
        if (b != -1) count++;
        return b;
    }

    public int getCount() {
        return count;
    }
}