1
首先,我想說我已經使用GOOGLE搜索javascript mediator vs observer
並閱讀了近10個鏈接。javascript mediator vs observer
此外我在statckoverflow搜索,我得到這個Mediator Vs Observer Object-Oriented Design Patterns和 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
應該知道誰觸發消息的對象的存在嗎?
你能檢查我的更新嗎?我添加一個例子。 – hguser
聽起來像是兩種模式之間的混合:有一箇中央調解器實體,但它將觀察者存儲在目標中,而不是保持映射本身。 – fiddler