Reusable solutions to commonly occurring problems in software design, providing templates for how to solve problems in various contexts. Organizations adopt it to address specific technical or business challenges in their environments.
Design Patterns
Design Patterns are reusable, named solutions to problems that recur across software design. Rather than dictating finished code, a pattern describes the shape of a solution — the participants, their relationships, and the trade-offs — so teams can apply a proven approach to their own context. The idea was popularized by the 1994 Gang of Four book, which catalogued patterns like Factory, Observer, and Strategy that remain part of a working engineer’s vocabulary.
- Creational patterns - Factory, Builder, and Singleton govern how objects are constructed and shared.
- Structural patterns - Adapter, Facade, and Decorator compose objects into larger structures without rigid coupling.
- Behavioral patterns - Observer, Strategy, and Command organize how objects communicate and delegate responsibility.
- A shared vocabulary - Naming a pattern lets a team discuss architecture at a higher level of abstraction, which is the pattern’s real payoff.
In the API space, the same instinct shows up as design patterns for resources, pagination, error formats, and base URLs — conventions that make one API feel like the next and lower the cost of integration. I have spent years documenting the common patterns providers converge on across hundreds of APIs, because consistent patterns are what make a catalog legible to humans and, increasingly, to agents. They sit alongside formal Design Standards and practices like Dependency Injection in a mature engineering culture.
Referenced on the API Evangelist blog
Where this standard shows up across sixteen years of my writing at apievangelist.com — how it fits into API design, governance, and the agentic turn.
API Design Industry Guide: API Stylebook
2017-09-26