在发布/订阅模式中,你可以想象存在一个消息中心的地方,你可以在那里“注册一条消息”,那么被注册的这条消息可以被感兴趣的若干人“订阅”,一旦未来这条“消息被发布”,则所有订阅了这条消息的人都会得到提醒。
这个就是发布/订阅模式的设计思路。接下来我们一点一点实现一个简单的发布/订阅模式。
//先实现一个消息中心的构造函数(类),用来创建一个消息中心
function MessageCenter(){
var _messages = {
}; // 所有注册的消息都存在这里
this.register= function(){
}; // 用来注册消息的方法
this.subscribe = function(){
}; // 用来订阅消息的方法
this.publish= function(){
}; // 用来发布消息的方法
}
消息中心的搭建好了 接下来完善 register 、subscribe 、publish这三个方