Proxy
Stands in for another object, controlling access to it — used for lazy loading, access control, caching, or logging around the real object.
Why we need this / what value this brings
Adds a control point (access check, caching, lazy init, logging) in front of an object without changing the object itself or its callers.
When to use this
You need to control, defer, or add behavior around access to an object transparently.
How to use or implement this
Implement the same interface as the real object, and have the proxy do its extra work before delegating (or choosing not to delegate) to the real instance.
Research questions
- A caching layer in front of a slow DB call, or an access-control check before a resource is returned, are both proxy-shaped problems.
Empty folder — drop notes, links, and findings here as you research.