Back to questions
Junior — Middle
77
Объясните концепцию прокси и в каких сценариях ее применяют
Answer from AI
sobes.tech AI
Прокси — это объект-заместитель, который контролирует доступ к другому объекту. Он реализует тот же интерфейс, что и оригинальный объект, и может добавлять дополнительное поведение при вызове методов.
Сценарии применения прокси:
- Ленивое создание (Lazy loading): объект создаётся только при первом обращении.
- Контроль доступа: проверка прав пользователя перед вызовом метода.
- Логирование и мониторинг вызовов.
- Кэширование результатов.
- Транзакционное управление.
Например, в Java можно использовать динамические прокси для добавления логирования:
InvocationHandler handler = (proxy, method, args) -> {
System.out.println("Вызов метода: " + method.getName());
return method.invoke(realObject, args);
};
MyInterface proxyInstance = (MyInterface) Proxy.newProxyInstance(
realObject.getClass().getClassLoader(),
realObject.getClass().getInterfaces(),
handler
);
Таким образом, прокси позволяют гибко расширять поведение объектов без изменения их кода.