Patterns MOC

A book-shaped table of contents for reusable engineering patterns spanning object-oriented design, enterprise architecture, distributed systems, messaging, APIs, cloud infrastructure, observability, security, concurrency, AI/agentic systems, and organizational design — grounded in production experience at scale.

Patterns

A curated library of reusable engineering patterns drawn from production experience across global observability platforms, AKS clusters, and SRE practice, extended to the full Principal/Staff (L6/L7) pattern landscape. Each pattern is opinionated — it names the context, the forces at play, the solution, and the trade-offs. If this were a book, this page is the table of contents: each Part groups patterns that solve the same class of problem, from pattern thinking itself, through object-oriented design, enterprise architecture, and microservices, out to distributed systems, cloud infrastructure, observability, security, and organizational design. Where a Part overlaps a sibling book already covering the same concept in depth (GoF in object-oriented-programming/, caching/consensus in system-design/, K8s multi-container patterns in kubernetes/), that Part’s chapters link out to it rather than duplicate it.

Purpose

This directory holds design patterns structured for repeated application and quick recall. Unlike one-off system designs, these are building blocks: pull out a pattern, adapt it to the target system, and wire it in. The framing keeps observability and reliability as first-class properties of every pattern, not afterthoughts.

The notes are accessible at /notes/patterns/ on the site but are excluded from the main notes index — they are an internal reference, not public material.

How to Use Each Note

Each pattern follows a consistent structure:

  1. Context — the situation where this pattern applies
  2. Problem — the force or constraint being resolved
  3. Solution — the canonical approach, with a diagram where useful
  4. Consequences — what you gain, what you give up
  5. Known uses — where this has been applied in production

Parts

00 — Pattern Thinking

Before the catalog, the vocabulary: what makes something a pattern rather than a one-off decision, how to choose between competing patterns under real forces, and SOLID reframed at architecture scale rather than as a five-bullet mnemonic.

01 — Object-Oriented Design Patterns (GoF)

The classic Gang of Four catalog, framed as composition and trade-off decisions rather than a 23-pattern memorization exercise. Per-pattern 101-level stubs already live in Object-Oriented Programming; these chapters are the principal-level synthesis layer on top.

02 — Enterprise Application Patterns

How a domain model stays coherent and how it talks to everything outside it — layering styles, DDD’s tactical toolkit, transactional integrity, and integration. A genuine gap: no other book in this repo covers Hexagonal/Clean architecture or DDD’s Aggregate/Entity/Repository vocabulary.

03 — Dependency Injection Patterns

How a dependency graph gets assembled, and how a system stays open to new behavior without recompiling its core.

04 — Microservice Patterns

The biggest Part in the book — it absorbs what used to be this book’s entire original 4-Part scaffold (Structural, Communication, Data, Resilience & Operational), regrouped under the outline’s own Service Decomposition / Service Communication / Reliability / Data Patterns chapters. Grouped below with bold sub-headings for scannability; still one Part, matching the outline.

Decomposition — one monolith or many services, and how to migrate between them without a big-bang rewrite.

  • 01 — Monolith — Modular and Majestic — a single deployable unit with well-defined internal module boundaries; the right answer when decomposition cost exceeds the benefit
  • 02 — Strangler Fig — incrementally replace a legacy system by routing new functionality to a new implementation while the old system keeps running
  • 03 — Service Decomposition(stub) — the remaining decomposition axes: By Business Capability, By Domain, By Bounded Context, Self-Contained Systems

Communication — coordinating work and surviving load without one slow or failed component taking down the request.

Reliability — stopping cascading failure, controlling retries, and isolating blast radius.

Data — keeping data consistent and recoverable once writes and reads happen independently, asynchronously, or across service boundaries.

05 — Distributed Systems Patterns

Consensus, coordination, replication, and consistency — the primitives underneath every pattern in this book that assumes multiple nodes agree on something.

06 — Messaging Patterns

Broker topologies, event patterns, and stream processing semantics — building on Event Sourcing and Saga, already covered in this book.

07 — API Patterns

REST, RPC, and API Gateway design — the contract layer between a service and everything that calls it.

Database design, caching, and search — distinct from Part 04’s microservice-scoped Data Patterns chapter (the outline reuses “Data Patterns” as a title twice; disambiguated here).

09 — Cloud Native Patterns

Kubernetes multi-container patterns, deployment strategies, and multi-region availability.

  • 01 — Sidecar — co-locate a helper container to handle cross-cutting concerns
  • 02 — Kubernetes Patterns(stub) — the remaining multi-container and control-plane patterns: Ambassador, Adapter, Init Container, Operator — see also kubernetes/03-application-design-and-build/multi-container-pod-patterns.md and platform-engineering/02-platform-control-plane/crds-and-operators.md
  • 03 — Cloud Infrastructure Patterns(stub) — includes Blue-Green/Canary/Rolling deployment strategies
  • 04 — Multi-Region Patterns(stub)

10 — Observability Patterns

Monitoring, logging, tracing, and alerting frameworks — the vocabulary layer above the Observability book’s build-level instrumentation detail, which this Part links to rather than duplicates.

11 — Reliability Patterns (Resilience, Availability & Scale)

System-level resilience postures, availability practices, and scaling levers — one level above any single pattern like Circuit Breaker or Bulkhead. Named “Resilience, Availability & Scale” rather than “Reliability Patterns” to avoid colliding with Part 04’s chapter of the same outline title.

12 — Security Patterns

Authentication, authorization, and secure communication — a genuine gap; b-security/ is charter-only with no content yet.

13 — Concurrency Patterns

Threading, lock-free programming, and async composition — the concurrency primitives underneath patterns like Fan-Out/Fan-In and Backpressure.

14 — AI & Agentic System Patterns

The pattern vocabulary for composing LLM calls into a system — a synthesis layer above Agentic AI Engineering‘s and Building & Evaluating Agents’ build-level RAG and multi-agent content, which this Part links to rather than rebuilds.

15 — Organizational Patterns

Team Topologies, Conway’s Law, and the governance scaffolding that lets an organization make architecture decisions without every one becoming a meeting.

16 — Architecture Decision Patterns

Recurring architecture forks and the trade-off frameworks that actually resolve them.

17 — Pattern Composition

How patterns interact once more than one is applied to the same system, the failure modes that look like patterns but aren’t, and case studies of how real companies combined them in production.

Deferred: the outline’s Appendix (cross-cutting matrices and cheat sheets) isn’t stubbed here — it’s a reference index over content that doesn’t exist yet. Worth a follow-up pass once enough of the chapters above are actually written to make the matrices meaningful.

Shared Concepts

Some ideas support more than one pattern — or a full system design — without being a pattern themselves. Those live inside observability/‘s book-chapter structure instead of nested under whichever pattern first needed them, and get pulled in via [[wikilink]] from wherever they’re relevant:

See observability/README.md for the full book structure, including concepts shared with the design library.

Metadata

DimensionDetail
AuthorAmit Singh
ScopeEngineering reference — not production documentation
AccessInternal — hidden from public notes index via HIDDEN_TOPICS in src/pages/notes/index.astro
Landing pagesrc/pages/notes/patterns/index.astro/notes/patterns/

Local graph

Full graph →