This chapter covers the Proxy pattern.
GoF Definition
Provide a surrogate or placeholder for another object to control access to it.
Concept
A proxy is basically a substitute for an intended object. When a client deals with a proxy object, it thinks that it is dealing with the actual object. You need to support this kind of design because dealing with an original object is not always possible. This is because of many factors such as security issues, for example. So, in this pattern, you may want to use a class that can perform as an interface to something else.