Proxy Pattern

The Proxy Pattern is a structural design pattern that provides a surrogate or placeholder for another object to control access to it. This pattern is useful for adding functionality such as lazy initialization, access control, or logging without altering the original object.