OOP Design Patterns in Javascript
The Command Pattern turns a request or operation into a standalone object. The Strategy Pattern defines a family of interchangeable algorithms. The Flyweight Pattern reduces memory consumption by sharing common parts of objects. The Observer Pattern establishes a one-to-many dependency between objects.