Proxy mode: provide a substitute for an object to control access to this object . That is accessed by the target through a proxy object benefits of doing so are: On the basis of the target object can be achieved on the enhanced additional functionality operation, namely the expansion of the target object features.
The proxy object can be remote objects, creating large overhead objects or require security control of objects
There are different forms of proxy mode, there are three main static agents, dynamic agent (JDK proxy interface agent) and Cglib agent (you can create objects in dynamic memory without the need to implement the interface, he belongs to the category of dynamic proxies)