Provide a surrogate or placeholder for another object to control access to it.
Proxy is a structural design pattern that lets you provide a substitute or placeholder for another object. A proxy controls access to the original object, allowing you to perform something either before or after the request gets through to the original object.
image by refactoring guru