tag

Design Patterns

State Pattern

You’ve probably written code where an object’s behavior depends on some status or mode field — and then watched a simple if turn into a giant nested if/else or switch as features …

Observer Pattern

Any time you subscribe to something — a newsletter, a Twitch stream, a weather app — you’re living in the world of the Observer pattern. Observer is a behavioral design pattern …

Memento Pattern

Sometimes you just want to hit undo and pretend the last few minutes never happened — in your editor, not in life (unfortunately). That’s exactly the kind of problem the Memento …

Chain of Responsibility Pattern

The Chain of Responsibility pattern is what you reach for when you want to send a request into a pipeline and let whoever can handle it, handle it. It’s a behavioral pattern that …

Singleton Pattern

The Singleton pattern is likely the most famous—and most abused—creational pattern. It restricts a class to a single instance and exposes a global way to access it. Used carefully, …

Prototype Pattern

The Prototype pattern is what you reach for when “just call the constructor again” is too expensive—or too painful to configure repeatedly. Instead of creating new instances from …

Factory Method Pattern

The Factory Method pattern is the one you use when you want to say “give me a transport,” not “new Truck()” or “new Ship()”. It defines an interface for creating objects but lets …

Builder Pattern

The Builder pattern is what you reach for when a constructor has become a small novel of parameters and optional flags. It’s a creational pattern that lets you construct complex …

Abstract Factory Pattern

The Abstract Factory pattern is one of those tools that quietly keeps large systems from turning into a mess of if (platform == ...) checks. It’s a creational pattern that provides …

What Are Design Patterns

Design patterns are one of those topics that sound academic until the day you recognize one in a gnarly codebase and realize, “Oh, this is just a badly implemented …