Назад к вопросам
Aston
Junior — Middle
63
Какая внутренняя структура и компоненты реализуются в паттерне проектирования Proxy?
Компании, где спрашивали
Ответ от нейросети
sobes.tech AI
Паттерн Proxy в Java реализует объект-заместитель, который контролирует доступ к другому объекту (реальному субъекту). Внутренняя структура включает:
- Subject (интерфейс) — определяет общий интерфейс для реального объекта и прокси.
- RealSubject — реальный объект, к которому осуществляется доступ.
- Proxy — объект-заместитель, который содержит ссылку на RealSubject и реализует тот же интерфейс Subject.
Proxy может добавлять дополнительную логику при доступе к RealSubject, например, ленивую инициализацию, контроль доступа, кэширование или логирование.
Пример:
interface Subject {
void request();
}
class RealSubject implements Subject {
public void request() {
System.out.println("Выполнение запроса RealSubject");
}
}
class Proxy implements Subject {
private RealSubject realSubject;
public void request() {
if (realSubject == null) {
realSubject = new RealSubject();
}
System.out.println("Proxy: дополнительная логика перед вызовом RealSubject");
realSubject.request();
}
}