Ethan Lab Software Development · Product Management · Tech Reviews
Back to research notes

Notes on Software Design Patterns

Updated

  • Decorator Pattern: Wraps an object to provide new behavior.
  • Adapter Pattern: Wraps an object and provides a different interface.
  • Template Method Pattern: Subclasses decide how to implement steps in an algorithm.
  • Factory Method Pattern: Subclasses decide which class to instantiate.
  • Singleton Pattern: Ensures that only one object is created.
  • Strategy Pattern: Encapsulates interchangeable behaviors and uses delegation to decide which one to use.
  • Composite Pattern: Clients treat collections of objects and individual objects uniformly.
  • State Pattern: Encapsulates state-based behavior and uses delegation to switch between behaviors.
  • Iterator Pattern: Traverses a collection of objects without exposing its implementation.
  • Facade Pattern: Simplifies a group of classes’ interfaces.
  • Decorator Pattern: Wraps an object to provide new behavior.
  • Abstract Factory: Allows clients to create families of objects without specifying their concrete classes.
  • Observer Pattern: Allows objects to be notified when their state changes.
  • Proxy Pattern: Wraps an object to control access to it.
  • Command Pattern: Encapsulates requests as objects.