Benefits:
• The remote proxy can shield the fact that the implementation resides in another address space.
• The virtual proxy can perform optimizations—for example, by creating objects on demand.
Applicable Scenario:
• The Proxy pattern is appropriate when a more versatile or sophisticated reference to an object, rather than a simple pointer, is needed.