使用 Pub/Sub 在模块之间进行通信来维护复杂结构的最佳实践是什么?
我完成了我的最后一个项目,其中有很多模块很好地解耦(甚至可能是“过度解耦”)。但是,如果要调试某些东西或更改事件订阅和发布,则需要大量CTRL+F才能找到与特定事件相关的所有代码部分。是否有更好的基于事件的通信管理模式?我使用 Marionette 及其EventAggregator
作为 pub/sub。
使用 Pub/Sub 在模块之间进行通信来维护复杂结构的最佳实践是什么?
我完成了我的最后一个项目,其中有很多模块很好地解耦(甚至可能是“过度解耦”)。但是,如果要调试某些东西或更改事件订阅和发布,则需要大量CTRL+F才能找到与特定事件相关的所有代码部分。是否有更好的基于事件的通信管理模式?我使用 Marionette 及其EventAggregator
作为 pub/sub。
您正在描述RequestResponse对象的确切用例。
https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.requestresponse.md
处理程序:
var App = new Marionette.Application();
App.reqres.setHandler("foo", function(bar){
return bar + "-quux";
});
要求:
App.request("foo", "baz"); // => returns "baz-quux"