观察者模式详解

Posted houjl

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了观察者模式详解相关的知识,希望对你有一定的参考价值。

观察者模式的理解:

  观察者模式就是、 某个人--->观察某件事件---》事情发生变化---》通知这个人---》去做某件事情

  以下案例是腾讯公司发布订阅的小案例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
</head>
<body>
    
</body>
</html>
<script>
function tengxun(){
    this.订阅者们 = [];
    this.发送 = function(){
        var mes = this.message();
        for(var i in this.订阅者们){
            this.订阅者们[i].订阅(mes)
        }
    }
    this.订阅频道 = function(qq){
        this.订阅者们.push(qq);
    }
    this.message = function(){
        return "来自腾讯的消息";
    }
}
function QQ(qq){
    this.qq = qq;
    this.订阅 = function(mes){
        console.log(this.qq+"您收到"+new Date()+mes)
    }
}
var gongsi = new tengxun();

gongsi.订阅频道(new QQ("1234567"))
gongsi.订阅频道(new QQ("abcdfr"))
gongsi.订阅频道(new QQ("9087654"))
gongsi.订阅频道(new QQ("4564564"))

gongsi.发送();

</script>

结果:
技术分享图片

 


 



以上是关于观察者模式详解的主要内容,如果未能解决你的问题,请参考以下文章

设计模式 行为型模式 -- 观察者模式(发布-订阅(Publish/Subscribe)模式)

十二种常见设计模式代码详解

iOS 设计模式(五)-KVO 详解

设计模式之观察者模式详解

行为型设计模式 - 观察者模式详解

观察者模式详解