ES2 Singleton Object Pool Pattern Factory Pattern Bridge Pattern Memento Pattern Composite Pattern Decorator Pattern Email Gateway Integration TDD Test Rating