SkillByAIOpen interactive version →

Design Patterns

Learn the classic design patterns through realistic TypeScript examples: what each one is for, when it helps, when it is over-engineering, and the modern alternatives that often replace it.

Start course →

What you'll learn

Syllabus

Foundations of Design Patterns

  1. What Design Patterns Are
  2. The Principles Behind the Patterns
  3. When Patterns Help and When They Hurt

Creational Patterns I: Factories and Builders

  1. Factory Method and Simple Factories
  2. Abstract Factory
  3. Builder

Creational Patterns II and Dependency Injection

  1. Singleton and Why It Is Often an Anti-Pattern
  2. Prototype and Cloning
  3. Dependency Injection as a Pattern

Structural Patterns I: Adapter, Decorator, Facade

  1. Adapter
  2. Decorator, Function Decorators and Middleware
  3. Facade

Structural Patterns II: Proxy, Composite, Bridge and Flyweight

  1. Proxy
  2. Composite
  3. Bridge and Flyweight in Brief

Behavioural Patterns I: Strategy, Observer, Command

  1. Strategy and Functions as Strategies
  2. Observer, Pub/Sub and Event Emitters
  3. Command

Behavioural Patterns II: State, Pipelines and Traversal

  1. State and State Machines
  2. Template Method and Chain of Responsibility
  3. Iterator and Visitor in Brief

Applying Patterns in Real Projects

  1. Architectural Patterns Overview
  2. Anti-Patterns and Code Smells
  3. Patterns in Interviews and Code Review
  4. A Design Patterns Checklist