繁体   English   中英

javascript mediator vs观察者

[英]javascript mediator vs observer

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

我也在statckoverflow中搜索,我得到了这个Mediator Vs Observer面向对象的设计模式mediator-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是否应该知道触发消息的对象的存在?

观察者模式 :观察对象管理自己的观察者列表 (也称为侦听器),当某个事件发生时必须通知它们。

中介模式 :观察对象不知道其观察者的列表,有一个外部实体在观察对象和观察者之间进行映射。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM