This is interesting and spot-on so far as building modular, decoupled components go. Nevertheless, as the first of many Google Closure developers at Monetate, I got a lot more mileage out of Ray Ryan's great 2009 talk on Google Web Toolkit (http://www.youtube.com/watch?v=PDuhR18-EdM), of all things. He pretty much only talks about two patterns (MVP and services/event buses), but he does a great job of explaining how these apply to all sorts of parts of the application (history, RPC, display, etc.). And much to his credit, those were the only two patterns we ever needed.
Other folks might disagree, but in my experience, one of the bigger headaches to making a rich web application in JavaScript is that the class+instance model just doesn't work like you need it to -- and so in this post, we see a lot of patterns dedicated to getting around just that problem. Closure took care of that for us, so we spent pretty much no time coming up with new patterns, and instead were able to focus on writing re-usable, modular components and services from the get-go. It's not a tool I'd recommend to everyone, but if you're building a fairly high-featured web application, Closure's definitely worth looking into.
The architecture sounds good, but that's an enormous amount of text for such a simple concept - full decoupling of everything via modules which communicate everything over pub/sub with a mediator (which contains the logic to execute new pubs / subs based on others, and load/kill modules as necessary). Ideally with a facade over the mediator so modules aren't bound to mediators. Modules are therefore as totally atomic as possible.
There are some interesting links scattered throughout, as well - YMMV on those, of course, but the ones I clicked through were interesting.
And thanks hblanks, I'm in the process of watching the GWT video :)
Other folks might disagree, but in my experience, one of the bigger headaches to making a rich web application in JavaScript is that the class+instance model just doesn't work like you need it to -- and so in this post, we see a lot of patterns dedicated to getting around just that problem. Closure took care of that for us, so we spent pretty much no time coming up with new patterns, and instead were able to focus on writing re-usable, modular components and services from the get-go. It's not a tool I'd recommend to everyone, but if you're building a fairly high-featured web application, Closure's definitely worth looking into.