• 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.