JavaScript---设计模式之观察者模式

概念

观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。

作用

  1. 支持简单的广播通信,自动通知所有已经订阅过的对象
  2. 页面载入后目标对象很容易与观察者存在一种动态关联,增加了灵活性
  3. 目标对象与观察者之间的抽象耦合关系能够单独扩展以及重用

注意事项

监听要在触发之前

<script type="text/javascript">
    (function () {
        var o = $({});
        $.jianting = function () {
            o.on.apply(o, arguments);
        }
        $.fabu = function () {
            o.trigger.apply(o, arguments);
        }
        $.qingchu = function () {
            o.off.apply(o,arguments);
        }
    })();
    $.jianting('/test/ls', function (e,a,b,c) {
        alert(a+"||"+b+"||"+c+"||");
    });
    $.jianting('/test/ls', function (e,a,b,c) {
        alert('ok');
    });
    setTimeout(function () {
        $.fabu('/test/ls', [1,2,3]);
    }, 1000);
</script>
原文地址:https://www.cnblogs.com/xiaobaizhiqian/p/8445000.html