# Заместитель (Прокси)

Структурный паттерн проектирования, который позволяет подставлять вместо реальных объектов специальные объекты-заменители. Эти объекты перехватывают вызовы к оригинальному объекту, позволяя сделать что-то до или после передачи вызова оригиналу.

Паттерн **Заместитель** предоставляет суррогатный объект , управляющий доступом к другому объекту.

Некоторые варианты управления доступом в заместителях:
- Удаленный заместитель управляет доступом к удаленному объекту
- Виртуальный заместитель управляет доступом к ресурсу, создание которого требует больших затрат ресурсов
- Защитный заместитель контролирует доступ к ресурсу в соответствии с системой привелегий

Паттерн Заместитель существует во многих формах, но все они строятся на приблизительно похожей архитектуре опосредственного доступа.
