gpt4 book ai didi

javascript 中介者 vs 观察者

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:49:09 28 4
gpt4 key购买 nike

首先我想说我已经用谷歌搜索了 javascript mediator vs observer 并阅读了将近十个链接。

我还在 statckoverflow 中搜索,我得到了这个 Mediator Vs Observer Object-Oriented Design Patternsmediator-vs-observer .

但是我还是不太清楚它们之间的区别。

所以我想知道是否有人可以更清楚地解释它们?

也许是一个活生生的例子。 :)

谢谢。


我尝试创建一个示例,这是调解器模式吗?

代码:

var EventMediator = {
publish: function (target, message) {
var args = Array.prototype.slice.call(arguments, 2);
var msgs = target.messages || [];
for (var i = 0; i < msgs.length; i++) {
var msg = msgs[i];
msg.callback.apply(msg.context, args);
}
},
register: function (target, message, fn) {
target.messages = target.messages || [];
target.messages.push({
context: target,
callback: fn
});
}
};

var t1 = {name: 'kk'};
var t2 = {name: 'gg'};

EventMediator.register(t1, "nameChanged", function () {
console.info("t1 name chagned");
});
EventMediator.publish(t1, "nameChanged");

这里我想知道 Mediator 是否应该知道触发消息的对象的存在?

最佳答案

观察者模式:被观察对象管理自己的观察者列表(又名监听器),当特定事件发生时必须通知观察者。

中介者模式:被观察对象不知道它的观察者列表,有一个外部实体在被观察对象和观察者之间建立映射。 p>

关于javascript 中介者 vs 观察者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18971775/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com