JavaScript設計模式--觀察者模式(發佈者-訂閱者模式)

歡迎訪問我的個人博客:http://www.xiaolongwu.cn

簡單列子

下面是實現發佈—訂閱模式的步驟:

1、先要指定好誰充當發佈者(比如售樓處)

2、然後給發佈者添加一個緩存列表,用於存放回調函數以便通知訂閱者(售樓處的花名冊)

3、最後發佈消息的時候,發佈者會遍歷這個緩存列表,依次觸發裏面存放的訂閱者回調函數(遍歷花名冊,挨個發短信)

// 定義訂閱發佈模式
    var publisher = {}; //定義發佈者
    
    publisher.list = []; // 定義發佈者的緩存列表,來存放訂閱者的回調函數
    
    publisher.on = function (fn){ //  添加訂閱者
        this.list.push(fn); //訂閱者的回調函數添加進緩存列表
    }
        
    publisher.trigger = function(){
        for(var i = 0,fn;fn = this.list[i++];){
            fn.apply(this,arguments);
        }
    }
    
// 使用
    publisher.on(function(name){
        console.log('leon1收到' + name);
    });
        
    publisher.on(function(name){
        console.log('leon2收到' + name);
    });

    publisher.trigger("哈哈");

上面這個是最簡單的例子

未完待續。。。。

參考文獻: https://www.cnblogs.com/tugenhua0707/p/4687947.html

我的github資源地址:JavaScript設計模式–觀察者模式(發佈者-訂閱者模式)

我的個人博客地址:http://www.xiaolongwu.cn

我的CSDN博客地址:https://blog.csdn.net/wxl1555

如果您對我的博客內容有疑惑或質疑的地方,請在下方評論區留言,或郵件給我,共同學習進步。

郵箱:[email protected]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章