Common JavaScript design patterns
Organizing code with modules
Managing single instances
Event-driven programming patterns
Creating objects with factories