Proxy Pattern - Java

Proxy Pattern là gì?

Proxy pattern là một dạng design pattern thuộc nhóm cấu trúc. Pattern này cung cấp 1 object gọi là object ảo dùng để bao bọc bên ngoài của object thật -> cái xử lý chương trình bên trong.

Tại sao chúng ta dùng Proxy Pattern?

Có nhiều tình huống khiến chúng ta cần phải dùng đến Proxy Pattern như:

  • Chúng ta cần xử lý input trước khi đưa vào object thật hoặc output sau khi nhận kết quả
  • Việc khởi tạo object thật tốn khá nhiều chi phí nên chúng ta dùng object ảo và chỉ khởi tạo object thật khi nó được người dùng sử dụng tới
  • Chúng ta cần thêm những actions đi kèm khi mà object thật được truy cập tới. Ví dụ:
    • Kiểm tra quyền truy cập xem người dùng có thực sự được phép truy cập tới object thật hay không.
    • Lock object thật khi xử lý dữ liệu để nó không thể bị truy cập bởi các đối tượng khác
    • Đếm số lượng truy cập tới object thật
  • Remote proxy cung cấp 1 local object đại điện cho object thật ở nơi khác

Cấu trúc

Ví dụ Proxy Pattern trong Java

Trong ví dụ mẫu này mình sẽ implement 1 chương trình dùng proxy image để giảm tải việc load image từ ổ cứng. Đầu tiên sẽ là interface Image: Tiếp đó là RealImage service và ProxyImage service: Cuối cùng là class demo:
Kết quả ouput sẽ như sau:

Source code sử dụng trong bài viết: https://github.com/luubi/design-patterns/tree/master/src/main/java/com/vlt/proxy



Nguồn: Bài viết liên quan:

Bài viết liên quan


EmoticonEmoticon