Proxy pattern
Cung cấp một đối tượng thay thế hoặc giữ chỗ đối tượng gốc. Nó kiếm soát truy cập đến đối tượng gốc, làm một vài việc gì đấy trước hoặc sau khi sử dụng đối tượng gốc.
Last updated
Cung cấp một đối tượng thay thế hoặc giữ chỗ đối tượng gốc. Nó kiếm soát truy cập đến đối tượng gốc, làm một vài việc gì đấy trước hoặc sau khi sử dụng đối tượng gốc.
Last updated
Việc khởi tạo đối tượng rất tiêu tốn tài nguyên của hệ thống, tuy chỉ thỉng thoảng mới sử dụng nhưng đối tượng đấy lại luôn luôn được tạo mới mỗi lần yêu cầu hoặc luôn lưu trữ trên hệ thống gây lãng phí tài nguyên lưu trữ và khởi tạo.
Có một giải pháp hữu hiệu cho việc này là chỉ khởi tạo đối tượng thực sự khi nào đối tượng thực sự được sử dụng.
Proxy pattern có ý tưởng là tạo một lớp cùng interface với đối tượng gốc. Sau đấy cập nhật lại các ứng dụng sử dụng đối tượng gốc là đối tượng proxy đấy. Và từ đó môi lần được yêu cầu, đối tượng proxy này sẽ tạo ra đối tượng gốc và đại diện cho nó làm việc với client.
Lợi ích nó mang lại nữa là can thiệp vào quá trình trước và sau khi yêu cầu đến đối tượng thật.
Một ví dụ thực tế có thể thấy là tiền mặt và tiển trong tài khoản, chúng ta có thể luân phiên sử dụng 2 loại này để thanh toán hàng hoá. Vai trò tương đương nhau.
Khai báo ServiceInterface triển khai các hành vi của đối tượng dịch vụ.
Khai báo lớp Service kế thừa ServiceInerface triển khai phương thức nghiệp vụ cung cấp các nghiệp vụ của dịch vụ.
Lớp Proxy kế thừa chung ServiceInterface chung với đối tượng gốc, nó lưu trữ một đối tượng Service thực sử để thực hiện các nghiệp vụ.
Client chỉ truy cập vào ServiceInterface để thực hiện các nghiệp vụ, không truy cập thẳng vào đối tượng gốc.