Sobes.tech
Junior — Middle

In quali casi si applica il pattern Wrapper nella programmazione?

sobes.tech AI

Risposta dell'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;
    }
}