Proxy
Provide a surrogate or placeholder for another object to control access to it
- represent an object in a remote address space
- create expensive objects on demand
- check access rights
Proxy has same interface as “real subject”, and forwards operations to it