js設計模式 發布訂閱模式

2022-05-07 11:30:22 字數 881 閱讀 9226

發布訂閱模式又叫觀察者模式,它定義物件間一對多的依賴關係,當乙個物件狀態發生改變時,所有依賴於它的物件都將得到通知。

在js設計模式與開發實踐一書中使用的是樓盤資訊更新發布的案例。大概內容是:想要買房的人們會訂閱自己想要的房產資訊,如果房產資訊有更新,就會發布給這些人。

比如佩奇想買乙個房子,他可以在售樓處(salesoffices)去訂閱這類房產訊息,售樓處會將佩奇訂閱的資訊填寫(listen)在客戶訂閱表中(clientlist),當有房子出來時,售樓處就會傳送(trigger)資訊給佩奇。

主要內容就是:

salesoffices=

**如下:

如果現在佩奇發現房價太高了,自己的預算只能付得起80平房子的首付,售樓處再給佩奇發120平的房子只會扎佩奇的心,所以佩奇只想訂閱80平的房子的訊息。

這時候只需要將訂閱表分為不同的型別,想要哪種房子的訊息就去哪張表填寫資訊,現在佩奇的資訊只能出現在80平的表上了。

當有80平的資訊出來時,只需給將80平訂閱表的使用者傳送訊息即可

salesoffices=,

listen:

function

, trigger:

function

}

**如下:

佩奇之後找到了心儀的房子,已經不需要售樓處再發訊息了,所以還有取消訂閱的功能。

而這種發布訂閱的模式很有用,很多行業都可以使用它,所以如果能安裝即用就會很nice

**如下

js設計模式 發布訂閱模式

發布訂閱模式中有乙個註冊中心,有訂閱和發布方法,訂閱者需要帶著方法去訂閱乙個事件,當這個事件被發布時,訂閱者執行這個方法 import from lodash import from mntr current dimension description 註冊中心 author jsong laste...

js 設計模式 訂閱 發布模式

訂閱 發布模式定義了物件之間的一種一對多的依賴關係,當乙個物件的狀態發生變化時,所有依賴它的物件都可以得到通知。訂閱 發布模式與觀察者模式概念相似,但在訂閱 發布模式中,訂閱者與發布者之間多了一層中介軟體 乙個被抽象出來的資訊排程中心。松耦合 訂閱者可以訂閱多個型別的訊息,發布者不需要關心有多少訂閱...

js發布訂閱模式

再開始之前先簡單介紹下訂閱 發布模式,因為這種設計模式在vue 中起到比較關鍵的作用。首先,簡單來說訂閱 發布模式是一種定義一對多依賴關係的設計模式,當乙個物件狀態發生變化時候,所依賴於他的所有物件都將得到通知。舉個簡單例子 很多學生到書店買書,a同學定了一本 js高程 b同學定了一本 js設計模式...