Design Patterns

A collection of classic design patterns, organized by category and implemented in the following languages: Java, Kotlin, TypeScript, Python, and C#.

Creational Patterns

  • Singleton
  • Builder
  • Factory Method
  • Abstract Factory
  • Lazy Initialization
  • Prototype
  • Object Pool

Structural Patterns

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy
  • Dependency Injection

Behavioral Patterns

  • Strategy
  • Observer
  • Iterator
  • Interpreter
  • Null Object
  • Template Method
  • Visitor
  • Command
  • Memento
  • State
  • Chain of Responsibility

Architectural Patterns

  • Repository
  • Result