Working drawings for the 23 classic Gang-of-Four patterns, 19 cloud/distributed-systems patterns, and 15 further architectural patterns covering application structure, service communication, data consistency, and deployment. — the problem each one solves, its structure, and a runnable reference implementation for every entry.
One instance, one shared access point.
open drawing → DWG 002Push "which subclass" behind a method.
open drawing → DWG 007Produce whole families of matched objects.
open drawing → DWG 008Assemble a complex object step by step.
open drawing → DWG 009Copy an existing instance instead of rebuilding.
open drawing →Wrap an incompatible interface to match yours.
open drawing → DWG 011Split abstraction from implementation.
open drawing → DWG 012Treat one item and a group the same way.
open drawing → DWG 005Layer behavior onto an object by wrapping it.
open drawing → DWG 013One simple entry point over a complex subsystem.
open drawing → DWG 014Share heavy, unchanging state across instances.
open drawing → DWG 015Stand in for an object to control access to it.
open drawing →Pass a request along a line of handlers.
open drawing → DWG 017Turn a request into an object you can undo.
open drawing → DWG 018Represent a small grammar as an expression tree.
open drawing → DWG 019Walk a collection without exposing its internals.
open drawing → DWG 020Route communication through one hub.
open drawing → DWG 021Capture and restore state without exposing it.
open drawing → DWG 003Broadcast state changes to any number of listeners.
open drawing → DWG 022Swap behavior by swapping a state object.
open drawing → DWG 004Swap an algorithm at runtime.
open drawing → DWG 023Fix the steps, let subclasses fill in one.
open drawing → DWG 024Add operations without touching the classes.
open drawing →Stop calling a failing dependency, fail fast instead.
open drawing → DWG 026Retry transient failures with growing delay.
open drawing → DWG 027Isolate resource pools per dependency.
open drawing → DWG 028Expose a real status check for routing decisions.
open drawing →Buffer bursts through a queue.
open drawing → DWG 030Scale processing with multiple queue workers.
open drawing → DWG 031Decouple producers from consumers via a broker.
open drawing → DWG 032Separate the write model from the read model.
open drawing → DWG 041Store every change as an event, derive state by replay.
open drawing → DWG 042A distributed transaction as chained local transactions.
open drawing →Attach cross-cutting behavior as a companion process.
open drawing → DWG 034A sidecar specialized for outbound calls.
open drawing → DWG 035Fan out to services, combine into one response.
open drawing → DWG 036Migrate a legacy system behind a routing façade.
open drawing → DWG 043A translation boundary that guards your domain model.
open drawing →Cap traffic per client with a token bucket.
open drawing → DWG 038Load into cache on miss, read from cache otherwise.
open drawing → DWG 039Partition data across stores by a key.
open drawing → DWG 040Agree on one coordinator across a cluster.
open drawing →Isolate domain logic behind ports and adapters.
open drawing → DWG 045Strict one-directional layer dependencies.
open drawing → DWG 046Concentric rings, dependencies always point inward.
open drawing → DWG 047A minimal core extended entirely through plug-ins.
open drawing →One front door: routing, auth, and rate limiting.
open drawing → DWG 049A dedicated backend shaped per client type.
open drawing → DWG 050Uniform sidecar-based traffic, security, observability.
open drawing → DWG 006One coordinator owns a multi-step workflow.
open drawing → DWG 051Two opposite ways to coordinate a workflow.
open drawing →Each service owns its data exclusively.
open drawing → DWG 053Publish an event atomically with a local commit.
open drawing → DWG 054Precompute a query result, refreshed over time.
open drawing → DWG 055In-process events for one bounded context.
open drawing →