The Proxy Pattern

Other examples
  • Remote Stubs (RPC, RMI)
    A proxy behaves like a local object, but delegates the request to a remote location transparently

  • Virtual software components
    Proxies allow lazy initialization (on demand) of expensive components transparently

  • Control usage of software components
    Restrict or log the usage of components transparently