- Creational
- Based on the concept of creating an object
- Class
- [1]Factory Method
- Object
- [2]Abstract Factory
- [3]Builder
- [4]Prototype
- [5]Singleton
- Structural
- Based on the idea of building blocks of objects
- Class
- [6]Adapter
- Object
- [6]Adapter
- [7]Bridge
- [8]Composite
- [9]Decorator
- [10]Facade
- [11]Flyweight
- [12]Proxy
- Behavioral
- Based on the way objects play and work together
- Class
- [13]Interpreter
- [14]Template Method
- Object
- [15]Chain of Responsibility
- [16]Command
- [17]Iterator
- [18]Mediator
- [19]Memento
- [20]Observer
- [21]State
- [22]Strategy
- [23]Visitor
- [1]Constructor
- Object Creation
- Basic Constructors
- Constructor with Prototypes
- [2]Module
- Implementation
- The Module Pattern
- IIFE: immediately-invoked function expression
- Object Literal Notation
- AMD modules
- CommonJS modules
- ECMAScript Harmony modules
- The Module Pattern
- Implementation
- [3]Revealing Module
- [4]Singleton
- [5]Observer
- Subject
- Maintain Observers List
- Observers
- Update interface
- Publish/Subscribe pattern
- topic/event
- subscribers
- publisher
- allows any subscriber implementing an appropriate event handler to register for and receive topic notifications broadcast by the publisher.
- Subject
- [6]Mediator
- [7]Prototype
- [8]Command
- [9]Facade
- [10]Factory
- [11]Mixin
- [12]Decorator
- [13]Flyweight