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;
}
}