Design Patterns reference data
Software design patterns with descriptions and use cases.
Software design patterns with descriptions and use cases.
Topic guide
Design-pattern reference data names the recurring solutions to recurring software-design problems: the creational, structural and behavioral patterns of the 'Gang of Four', the concurrency patterns that coordinate threads, the architectural patterns that shape whole systems, the SOLID principles behind them and the anti-patterns that come from misusing them. Patterns are vocabulary first and templates second: their value is that 'use a strategy here' conveys a design in four words. They also carry costs, since applying a pattern where a simple function would do adds indirection, so each entry states when to use it as well as what it is.
Start with: SOLID Principles · Creational Design Patterns
High-level structural patterns: MVC, MVVM, Microservices, Event-Driven, Layered, Hexagonal (Ports & Adapters), CQRS, Serverless, Service Mesh.
9 entriesPatterns for communication between objects: Observer, Strategy, Command, Iterator, State, Template Method, Visitor, Mediator, Chain of Responsibility, Interpreter.
10 entriesPatterns for multi-threaded programming: Producer-Consumer, Reader-Writer, Thread Pool, Future/Promise, Reactor, Monitor, Scheduler.
7 entriesPatterns for object creation: Singleton, Factory Method, Abstract Factory, Builder, and Prototype with intents and use cases.
8 entriesQueue and worker design patterns for duplicate deliveries, failure recovery, concurrency, and bounded work.
10 entriesFive design principles for writing maintainable object-oriented code.
12 entriesCommon software design anti-patterns, misuse of design patterns, code smells indicating trouble, and refactoring strategies to fix them.
8 entriesStructural design patterns: Adapter, Bridge, Composite, Decorator, Facade, Flyweight, and Proxy with intents and when-to-use guidance.
7 entries
One request returns the category with all of its dataset summaries. Append
?format=yaml or ?format=toon for the other encodings.
GET https://yjtoon.com/api/category/design-patterns?format=json