A design pattern that provides a placeholder or surrogate object that controls access to another object, allowing additional functionality like lazy loading, access control, caching, or logging to be added transparently. The proxy implements the same interface as the original object.
Named after legal proxies who act on behalf of others, first formalized in the Gang of Four book (1994). The pattern evolved from the need to add cross-cutting concerns like security, caching, or remote access without modifying original objects.
The Proxy pattern is like having a personal assistant who screens your calls - they have the same phone interface as you, but they add extra services like filtering spam, scheduling appointments, or taking messages when you're busy! Virtual proxies are everywhere: when you scroll through photos on social media, you're often seeing proxy thumbnails that load the full image only when needed.
Complete word intelligence in one call. Free tier — 50 lookups/day.