首页 > 代码库 > 设计模式之观察者模式
设计模式之观察者模式
1.观测者模式;
有时候被称为发布订阅模式,定义了一种一对多的依赖关系,让多个观察者同时监听同一主题对象,这个主题对象在发生变化时会通知观察者,使它们可以更新自己;
var Obsever = {};
//添加观察者; var add = function (name, callback){ if(typeof name == ‘string‘ && typeof callback == ‘function‘){ Obsever[name] ? Obsever[name].push(callback) : Obsever[name] = [callback]; } }
//删除观察者; var remove = function (name, callback){
if(typeof name == ‘string‘){ var list = Obsever[name];
if(list){ if( callback == null){ delete Obsever[name]; }else{ for (var i = 0; i < list.length; i++){ if(callback == list[i]){ list[i] = null; } } } }
}
}
//调用观测者; var broadcase = function (name){ var list = Obsever[name]; if(list){for(var i = 0 ; i < list.length; i++){ var cb = list[i]; if(typeof cb == ‘function‘){ cb.apply(cb,Array.prototype.slice.call(arguments,1)); }else{ list.splice(i,1); i--; } } } }add(‘teacher‘,function(message){alert(message)});broadcase(‘teacher‘,‘Hi,goodNight‘);
修改了几次;暂时先这样;
设计模式之观察者模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。