doctype html
>
<
html
lang
="en"
>
<
head
>
<
meta
charset
="utf-8"
>
<
meta
name
="viewport"
content
="width=device-width, initial-scale=1.0"
>
<
title
>發布訂閱模式
title
>
head
>
<
body
>
<
script
>
/*react發布訂閱模式-模仿餓了麼點單
簡單實現發布訂閱模式。就是發布訊息通知訂閱了這一型別的客戶
*/class event ;
//定義乙個事件容器
}
//監聽
on(eventname,callback)
else
}//觸發
emit(eventname,params))}}
removetype (eventname)
}const myevent
=new
event();
//例項化乙個事件管理器
myevent.on(
"changecata
",(val)
=>
) myevent.emit(
"changecata",
'傳遞的值')
script
>
body
>
html
>
發布 訂閱模式
發布 訂閱模式又叫觀察者模式,它定義物件間的一種一對多的關係,當乙個物件的狀態發生改變時,所有依賴於它的物件都將得到通知。在js中,我們一般用事件模型來替代傳統的發布 訂閱模式。實現 varpubsub function p 訂閱 p.subscribe function flag,fn 發布 p....
發布訂閱模式
不同的語言,相同的模式。最近在關注設計模式的知識,發布訂閱模式其實是物件間一對多的依賴關係,當乙個物件的狀態發生改變時,所有依賴與它的物件都將得到狀態改變的通知。作用 1 廣泛應用於非同步程式設計中 2 物件間鬆散耦合的編寫 自定義事件 let corp 定義乙個公司物件 這裡放乙個列表來緩衝回掉函...
發布訂閱模式
前言 應用場景 專案做久了以後會越來越大,當很多人去做同乙個人專案的時候,裡面的邏輯耦合度當然是越低越好,有這麼乙個場景 需求 3個人同時開發乙個專案的時候,分別開發登入模組login 商品模組showshoplist 書籍模組showbooklist 當使用者登入成功的時候,需要使用者資訊去重新整...