/design-patterns

JavaScript(Vanilla/ES6/TypeScript) and Java (GoF) design patterns

design-patterns

JavaScript(Vanilla/ES6/TypeScript) and Java (GoF) design patterns

A design pattern is a general repeatable/reusable solution to a commonly occurring problem with a given context in software design. It can be treated as a description or template for how to solve a problem that can be used in many different situations.

Creational

  • Singleton
  • Factory Method/Factory
  • Abstract Factory
  • Builder
  • Prototype

Structural

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

Behavioral

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

Backend communication design patterns

  1. Request response
  2. push
  3. short polling
  4. long polling
  5. Server Sent Events
  6. Publish Subscribe(Pub/Sub)
  7. Multiplexing and Demultiplexing
  8. Stateful and Stateless
  9. Sidecart pattern