Mediator Pattern la gi?
Mediator Pattern la gi?

Học Design Pattern: Mediator Pattern – Người Hòa Giải Xung Đột

Mediator Pattern đưa lên một giải pháp cho việc quản lý dependency giữa nhiều Class khác nhau. Đó là thay vì cho các Class tương tác và gọi trực tiếp với nhau, Mediator sẽ đứng giữa và điều hướng các Logic (Nghe quen quen ha, giống Proxy hay Facade Pattern đúng không?).

Sự khác biệt cơ bản giữa Proxy, Facade Pattern và Mediator Pattern đó là Proxy va Facade Pattern được tạo ra từ góc nhìn của provider (người tạo ra module, framework, package hay service).

Còn Mediator sẽ được tạo ra ở góc nhìn người phát triển tính năng, maintain codebase.

Khi Các Class Xung Đột Với Nhau 🙂

Nguồn: Refactor Guru

Ví dụ trên cho thấy trong 1 Dialog, các Class Button, TextField là những lớp độc lập và cần phải tương tác trực tiếp với nhau để check giá trị, trạng thái phục vụ cho mục đích phát triển sản phẩm. Trường hợp một lớp thay đổi có thể sẽ dẫn đến thay đổi của những lớp khác. Để tối giản sự phụ thuộc, và giúp cho việc kiểm thử được dễ dàng hơn, tác giả đã dùng đến Mediator Pattern – Người Hòa Giải Xung Đột.

Mediator Pattern – Người Hòa Giải Xung Đột

Mediator Pattern đưa ra một object Mediator ở trung tâm, object này gom nhóm logic giao tiếp giữa các object tương tác (được gọi là component). Thay vì giao tiếp trực tiếp, các component gửi thông điệp đến Mediator, sau đó Mediator sẽ chuyển các lệnh gọi hoặc xử lý phù hợp dựa trên trạng thái hiện tại.

Bằng cách này, các component chỉ phụ thuộc vào interface của Mediator, chứ không phụ thuộc trực tiếp vào nhau -> tăng tính độc lập.

Ưu, nhược điểm của Mediator Pattern

Ưu ĐiểmNhược Điểm (Lưu ý)
– Dễ triển khai, hiệu quả lâu dài.
– Transparent các dependencies giữa các Class độc lập
– Giúp tải sử dụng Code
Code quá cái Mediator thành God Object, rồi thành Singleton Pattern luôn.

Hãy theo dõi kênh Youtube, Facebook của mình để cập nhật thêm nhiều kiến thức nha!

@dantech