Некоторые ситуации, в которых в веб-разработке следует применять паттерн Proxy:
- Ленивая инициализация (виртуальный прокси). 1 Когда есть тяжёлый объект, грузящий данные из файловой системы или базы данных. 1 Вместо того, чтобы грузить данные сразу после старта программы, можно сэкономить ресурсы и создать объект тогда, когда он действительно понадобится. 1
- Защита доступа (защищающий прокси). 1 Когда в программе есть разные типы пользователей, и нужно защищать объект от неавторизованного доступа. 1
- Локальный запуск сервиса (удалённый прокси). 1 Когда настоящий сервисный объект находится на удалённом сервере. 1 В этом случае прокси транслирует запросы клиента в вызовы по сети в протоколе, понятном удалённому сервису. 1
- Логирование запросов (логирующий прокси). 1 Когда требуется хранить историю обращений к сервисному объекту. 1
- Кеширование объектов («умная» ссылка). 1 Когда нужно кешировать результаты запросов клиентов и управлять их жизненным циклом. 1
Также паттерн Proxy может использоваться в распределённых системах для взаимодействия с объектами, расположенными в разных адресах или системах. 2