In this talk, I describe a JavaScript application architecture that is highly decoupled, encouraging modules to only publish and subscribe to events of interest rather than directly communicating with each other. It supports your application continuing to function even if particular modules fail; module management - where a central body can manage when modules start, stop or need to be restarted;
![Scalable JavaScript Design Patterns](https://cdn-ak-scissors.b.st-hatena.com/image/square/f81bc6cdc0077a8bc59ce530ccc7b84d5ae99472/height=288;version=1;width=512/https%3A%2F%2Ffiles.speakerdeck.com%2Fpresentations%2F4eac742162a2360054002a6b%2Fslide_0.jpg%3F608104)