Паттерн Proxy
Teaches the proxy pattern for intercepting object operations. Use when you need validation, logging, formatting, or access control on property access, assignment, or function invocation.
AIpatternsdev
official
Другое
Что делает навык
Паттерн Proxy позволяет перехватывать и контролировать взаимодействие с объектами, создавая объект-заменитель. Он обеспечивает валидацию данных, логирование, форматирование и контроль доступа при чтении свойств, их изменении или вызове методов.
Когда применять
- Добавление валидации данных при присваивании значений свойствам объекта
- Логирование изменений значений свойств (отслеживание предыдущего и нового значения)
- Форматирование или уведомление при чтении свойств объекта
- Отладка и контроль доступа к объектам без изменения их исходного кода
Как работает
- Создать объект Proxy, передав целевой объект (target) и объект-обработчик (handler) в конструктор
- Определить в обработчике методы get (для перехвата чтения свойств) и set (для перехвата записи)
- Использовать объект Reflect для безопасного и чистого доступа к свойствам целевого объекта внутри ловушек
- Добавить логику валидации или логирования непосредственно в методы get и set обработчика
- Возвращать результат выполнения Reflect.get или Reflect.set, либо кастомное значение/сообщение об ошибке
Примеры запросов агенту
Создай прокси для объекта пользователя, который логирует все изменения возраста и запрещает устанавливать имя короче двух символов
Реализуй паттерн Proxy для объекта настроек с использованием Reflect, чтобы перехватывать чтение свойств и выводить их в консоль в читаемом формате
Напиши код на JavaScript, использующий Proxy и Object.defineProperty для валидации числовых значений при присваивании свойству 'age'
Описание составлено по SKILL.md навыка, сверено 05.10.2026.
Как подключить
1Скачать навык
# возьмите папку навыка «proxy-pattern» из репозитория:
# https://github.com/patternsdev/skills
2Положить папку с
SKILL.md к навыкам ассистента# положите папку навыка туда, где ассистент ищет skills:
cp -r proxy-pattern/ ~/.claude/skills/proxy-pattern/
Навык — папка с файлом SKILL.md (описание + инструкции) и опциональными скриптами. Ассистент (Claude, Claude Code и совместимые) подхватывает его по описанию и следует шагам.