StackPractices

Tag: ddd

Browse 7 practical software engineering resources tagged with "ddd". Discover code recipes, design patterns, documentation templates, and in-depth guides to help you build, deploy, and maintain production-ready solutions involving ddd. Each resource is written for engineers who ship real systems, with copy-paste examples and practical trade-offs.

Domain-Driven Design

Domain-Driven Design aligns software design with business domains. It emphasizes bounded contexts, ubiquitous language, aggregates, and entities.

The resources below cover strategic and tactical DDD, bounded contexts, aggregates, value objects, repositories, and anti-corruption layers. Each guide helps you model software around real business concepts.

Every resource includes clear explanations, copy-paste code, and practical warnings. Use them to make informed decisions, avoid production pitfalls, and speed up your delivery. If you are just getting started, read the beginner-friendly articles first; if you are experienced, jump straight to the advanced patterns and architecture guides. New resources are added regularly, so bookmark this page and check back for the latest patterns.

Anti-Corruption Layer: Isolate Legacy with Adapters

How to isolate legacy systems with translation adapters. Covers ACL facade, domain translation,...

Aggregate Pattern

Encapsulate a cluster of domain objects treated as a single unit for data changes. An Aggregate...

Domain Event Pattern

Capture and publish major occurrences within a domain model to decouple side effects from core...

Role Pattern

Assign dynamic roles to objects at runtime instead of hard-coding behavior in class hierarchies,...

Value Object Pattern

Model domain concepts by value rather than identity. An immutable object defined by its attributes,...

Event Sourcing and CQRS: Event Store, Projections

Master event sourcing and CQRS: event store design, aggregate roots, projections, read models,...

Modular Monolith: Module Boundaries, Shared Kernel

Design a modular monolith with clear module boundaries, a shared kernel, dependency rules, and a...