Kteam Q&A Community

Cộng đồng hỏi đáp về các vấn đề trong lập trình, công nghệ thông tin.

0

Sự khác nhau giữa Observer Pattern và Publisher/Subscriber Pattern

Chào mọi người, nay e có một thắc mắc nhỏ trong việc phân biệt cái Observer và Pub/Sub mong mọi người giúp đỡ.

Về cơ bản 2 cái này khá giống nhau, Pub/Sub như là một bản biến thể của Observer.

Trong Observer có 2 thành phần Subject(nơi đăng ký các Observer nhận thay đổi) và các Observer nhận thay đổi từ Subject

Trong Pub/Sub thì có một component trung gian nhận các topic của Publisher và gửi các topic tới Subscriber đăng ký topic đó.

Theo e hiểu thì ở Observer Pattern, nếu ko làm cách lưu history rồi cache dữ liệu ra thì những thằng Observer bắt buộc phải đăng ký với Subject để nhận được update(). Và thằng Subject phải biết được sự tồn tại của thằng Observer kia thì mới gửi update được
- Còn bên Pub/Sub thì thằng Pub cứ public lên cái message broker, chẳng quan tâm thằng nào sẽ nhận được rồi chỉ khi thằng Sub nào đăng ký với Message Broker thì Sub đó mới nhận được đúng ko ạ ? Mình nó nên hiểu quan hệ giữa MessBroke với Sub như Observer với Subject ko ạ ?
- Ở trong Observer Pattern, khi Observer ko đăng ký trong Subject thì nó sẽ bị loại bỏ, còn trong Pub/Sub thì kể cả Sub ko đăng ký nữa thì nó vẫn tồn tại trong Message Broker đúng ko ạ?

Cảm ơn m.n nhiều !

0 câu trả lời Thêm câu trả lời

Câu trả lời của bạn

Bạn có thể trả lời câu hỏi này? Hãy chia sẻ nó cho mọi người.

Hủy bỏ hoặc

Thông tin

Đã hỏi 2018-11-06 15:20:31
Đã xem 37 lần
Hoạt động 2018-11-06 15:20:31

Chiến dịch

Kteam - Howkteam Free Education