Pattern Proxy cung cấp một placeholder hoặc đại diện cho một đối tượng khác để kiểm soát truy cập đến nó. Proxy có cùng interface với đối tượng thật nhưng thêm hành vi — như lazy loading, kiểm soát truy cập, caching, hoặc logging — trước khi ủy thác cho nó.
Pattern Proxy làm gì
PROXY → một đối tượng ĐỨNG THAY cho cái khác, kiểm soát truy cập đến nó:
→ cùng interface với đối tượng thật (client dùng nó một cách trong suốt)
→ thêm hành vi TRƯỚC/QUANH việc ủy thác cho đối tượng thật
→ kiểm soát KHI NÀO và CÁCH đối tượng thật được truy cập
→ "một người đứng thay thêm kiểm soát/hành vi"
