Mediator pattern là gì? Khác Observer và tại sao quan trọng trong microservices?

Mediator giảm chaotic dependencies giữa objects bằng cách làm chúng communicate qua mediator object thay vì trực tiếp — từ many-to-many thành many-to-one. Ví dụ UI: thay vì các form components tham chiếu nhau trực tiếp, chúng communicate qua FormMediator quản lý validation và enable/disable logic.

Trong microservices: Message Broker (RabbitMQ, Kafka) là Mediator — service A không gọi service B trực tiếp mà publish message lên broker, broker route đến service B.

Khác Observer: Observer cho phép Subject notify Observers (biết có observers); Mediator giúp objects communicate mà không biết về nhau. Trong NestJS: EventEmitter2, CQRS CommandBus, EventBus là Mediator.

Lợi ích microservices:
- Loose coupling giữa services.
- Dễ scale từng service độc lập.
- Có thể add consumer mới mà không thay đổi producer.

Không dùng khi: Mediator trở thành 'God Object' biết quá nhiều — tạo single point of failure.

Xem toàn bộ Design Patterns cùng filter theo level & chủ đề con.

Mở danh sách Design Patterns