DesignPatterns에서 StructuralPatterns의 하나.
본인이 필요해질 때까지 대리인(proxy)에게 일을 맡긴다. 무거운객체생성 따위가 필요할때, 간단히 그 기능을 대신할 proxy를 만든다. 실제 무거운객체가 필요해지면, 그때가서 객체를 만들어 일을 수행한다.
Structure
Example
프린터예제 ProxyPrinter.java
- 실제 Printer클래스는 객체생성이 무겁다.
- getName따위의 일을 대신하는 proxy를 만든다.
- print시키면, 그때가서 Printer에게 넘긴다.