Junior — Middle
Kādās gadījumos tiek izmantots Wrapper modelis programmēšanā?
sobes.tech AI
Atbilde no 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;
}
}