- Control access of an object.
- Virtual Proxy: The object under control is expensive to create or requires complex procedures to create.
- Remote Proxy: The object under control is on remote machines.
- Protection Proxy: Different roles need to have different permissions to access the object under control.