GoF Definition: Provide a surrogate or placeholder for another object to control access to it.
We want to use a class which can perform as an interface to something else.
In a classroom, when one student is absent, during roll call, his best friend may try to mimic the student’s voice to try to keep his friend from being marked as absent.
Consider an ATM implementation for a bank. Here we will find multiple proxy objects. Actual bank information will be stored in a remote server. We must remember that in the real programming world, the creation of multiple instances of a ...