首页 > 其他 > 详细

设计模式之观察者模式

时间:2014-11-22 22:42:50      阅读:128      评论:0      收藏:0      [点我收藏+]

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‘);

 修改了几次;暂时先这样;

设计模式之观察者模式

原文:http://www.cnblogs.com/clearfix/p/4115801.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!