I’m currently using a mediator that sits in-between all my modules and allows them to communicate between one another. All modules must go through the mediator to send out messages to anything that’s listening. I’ve been doing some reading on RequireJS but I’ve not found any documentation how best you facilitate communication between modules.
I’ve looked at signals but if I understand correctly signals aren’t really that useful if you’re running things through a mediator. I’m just left wondering what else I could try. I’m quite keen on using a callback pattern of some kind but haven’t got past anything more sophisticated than a simple lookup table in the mediator.
Here’s the signal implementation I found: https://github.com/millermedeiros/js-signals
Here’s something else I found: http://ryanflorence.com/publisher.js/
Is there a standardized approach to this problem or must everything be dependency-driven?
Using a centralized event manager is a fairly common and pretty scalable approach. It’s hard to tell from your question what problem, if any, you’re having with an events model. The typical thing is as follows (using publisher):
File 1:
File 2:
The main advantage here is loose coupling; rather than objects knowing methods of other objects, objects can fire events and other objects know how to handle that particular application state. If an object doesn’t exist that handles the event, no error is thrown.
What problems are you having with this approach?