要是实在不知道要干什么,那就喝两杯思路就来了!

导航菜单

设计模式之观察者模式

直接贴代码了,这是一种最最最基本的观察者模式,用户只有订阅了此消息,才能在消息发布的时候接收到。

// 消息发布中心
var lk = {
	actionUsers: [],
	addUser: function (user) {
		var obj = {
			user: user,
			action: this.callBack
		};
		this.actionUsers.push(obj);
	},
	msgPublish: function (msg) {
		for (var i = 0; i < this.actionUsers.length; i++) {
			var obj = this.actionUsers[i];
			var user = obj.user;
			var action = obj.action;
			action.call(user, msg);
		}
	},
	callBack: function (msg) {
		console.warn('消息成功发布给-' + this.name + ',消息内容是:' + msg);
	}
}

// 创建用户
var st1 = {name: '小西'};
var st2 = {name: '小黄'};

// 用户订阅
lk.addUser(st1);
lk.addUser(st2);

// 发布消息
lk.msgPublish('明天大家都不要来上班了,因为太热了。');

因为今天(5月24日)北京气温创下了40度新高,所以在这里发布一条高温预警,哈哈…

发表评论