What are the advantages and disadvantages of proxy design pattern?
How to use it in real scenarios?
What are the assumptions behind it?