JavaScript---设计模式之观察者模式
概念
观察者模式又叫发布订阅模式(Publish/Subscribe),它定义了一种一对多的关系,让多个观察者对象同时监听某一个主题对象,这个主题对象的状态发生变化时就会通知所有的观察者对象,使得它们能够自动更新自己。
作用
- 支持简单的广播通信,自动通知所有已经订阅过的对象
- 页面载入后目标对象很容易与观察者存在一种动态关联,增加了灵活性
- 目标对象与观察者之间的抽象耦合关系能够单独扩展以及重用
注意事项
监听要在触发之前
<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>