Re: [討論] Pub/Sub vs Observer Pattern

看板Soft_Job (軟體人)作者 (壞魯)時間9年前 (2017/01/06 01:43), 編輯推噓11(1109)
留言20則, 10人參與, 最新討論串2/3 (看更多)
Hi 各位先進, 大家戰得好不愉快阿XDD 能在有點乏味的工作中找到這種激情真是令人感到愉悅呢 回到正題 我以為pubsub和observable之所以常常混在一起, 是因為在使用design pattern時 可以透過pubsub來實作observable, 而pattern只是pattern, 並沒有規範實作時要用 async或sync的方式, 例如在java可以用sync的方式實作, 而javascript可以用callback 方式實作。只要訂閱的人可以在對象改變時被通知, 那就是成功了。 但在middleware上, pubsub通常是以async的方式實現, 因為沒有辦法確保訂閱者一定在 線上,並可以馬上被通知, 所以在傳遞的過程會有queue或db之類的儲存媒介, 確保訂閱 者可以絕對收到pub的訊息, 即使訂閱者當時不在線上的, 在上線時也可以收到過往的訊 息。 我書讀得少, 比較少看到middleware上的pubsub功能是叫作Observer/observable的 在看到這篇基戰之前, 還真的沒想過在design pattern下的pubsub和observable有什麼 分別, 在我看來是一樣的東西, 如果我理解上有錯拜託請告訴我, 拜託拜託, 謝謝:D -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.62.50 ※ 文章網址: https://www.ptt.cc/bbs/Soft_Job/M.1483638233.A.9A9.html

01/06 02:40, , 1F
想法一致,我正在籌備新的文說 xd
01/06 02:40, 1F

01/06 04:47, , 2F
Design pattern本來就是只要force context跟解法一樣就
01/06 04:47, 2F

01/06 04:47, , 3F
可以算同一種,不然一堆變形體都要一個名字不就崩潰
01/06 04:47, 3F

01/06 07:53, , 4F
Observer的目的是為了解決不改code就能增減訂閱者所提出
01/06 07:53, 4F

01/06 07:54, , 5F
的架構,怎麼實作其實沒差。我甚至不覺得是變形。
01/06 07:54, 5F

01/06 10:01, , 6F
只要符合那個精神就好啦
01/06 10:01, 6F

01/06 10:03, , 7F
Design Pattern 是用來解決問題的方法 不是考試的答案..
01/06 10:03, 7F

01/06 10:04, , 8F
event driven 跟 pub/sub 也很像,但不同領域就是喜歡用
01/06 10:04, 8F

01/06 10:06, , 9F
固定的其中一種名字...比起「正確」,這更像行規或文化吧
01/06 10:06, 9F

01/06 10:49, , 10F
從 obs~ 無中介 pub/sub 有中介來看的話 看起來就像是
01/06 10:49, 10F

01/06 10:50, , 11F
中介 和 pub/sub 分別構成兩組 obs~
01/06 10:50, 11F

01/06 10:52, , 12F
個人覺得從 "特性" 而不是 "效果" 去看會更清楚
01/06 10:52, 12F

01/06 10:58, , 13F
所以我神馬時候才能吃到激醬牛豬肉飯呢XD
01/06 10:58, 13F

01/06 11:31, , 14F
哈哈哈 dream 大一直害我笑
01/06 11:31, 14F

01/06 11:34, , 15F
換我給 dream 大笑笑
01/06 11:34, 15F

01/06 11:34, , 16F

01/06 11:35, , 17F
MQTT 官方文件
01/06 11:35, 17F

01/06 12:15, , 18F
好啦,跟股版一樣比薪水單如何?薪水高的才有說話權。
01/06 12:15, 18F

01/06 12:27, , 19F
Jasonzheng大這個臉打很大喔XD
01/06 12:27, 19F

01/06 19:29, , 20F
我也一直覺得是這樣
01/06 19:29, 20F
文章代碼(AID): #1OReNPcf (Soft_Job)
文章代碼(AID): #1OReNPcf (Soft_Job)