Handbook
Design patterns — index
**Pattern thinking** means naming recurring **forces** (change, scale, integration) and matching proven structures — without using the catalog as a mandatory checklist. Prefer simple modules until **d
Design patterns — index
Pattern thinking means naming recurring forces (change, scale, integration) and matching proven structures — without using the catalog as a mandatory checklist. Prefer simple modules until duplication proves the force.
Cross-reference: Parent summaries for GoF and enterprise patterns: ../SOFTWARE-ENGINEERING.md § 3. Design patterns.
Pattern categories (overview)
GoF addresses single-process collaboration; EIP addresses cross-service messaging and evolution.
Selection guidance
| Situation | Start here | Escalate when |
|---|---|---|
| Variable object creation | GoF creational | Many product families need registries |
| Compose or wrap types | GoF structural | Adapters absorb domain rules |
| Vary algorithms or notifications | GoF behavioral | Cross-service sagas dominate |
| Decouple services / absorb bursts | Enterprise integration | Ordering, idempotency, schema contracts |
| Shared-memory parallelism | Concurrency patterns (planned) | Locks/races drive the design |
Guides
| Guide | Focus | See |
|---|---|---|
| GoF design patterns | 23 patterns, selection flowchart, modern relevance | |
| Enterprise integration | Channels, routing, transformation, sagas, platforms | |
| Concurrency patterns (planned) | Active object, monitor, fork-join, pipeline | SOFTWARE-ENGINEERING.md §3 |
Keep project-specific engineering standards in docs/development/ and architecture decisions in docs/adr/, not in this file.
Canonical source
Edit https://github.com/autowww/blueprints/blob/main/disciplines/engineering/software-engineering/patterns/README.md first; regenerate with docs/build-handbook.py.