Reference and Selective Reading
You do not need to read the source books front-to-back for this module. Use the concept pages and practice pages first. Open these local chunks only when you need alternate exposition, more worked examples, or a deeper exercise lane.
Source Roles
| Source | Role | Why it is here |
|---|---|---|
| Learning Domain-Driven Design (Khononov) | Primary teaching source | The best current single-volume treatment of strategic + tactical DDD; every primary concept maps to a chapter |
| Fundamentals of Software Architecture (Richards & Ford) | Selective support | Service boundaries, event-driven architecture style, monolith vs distributed trade-offs |
| Clean Architecture (Martin) | Selective support | Layer discipline for applying aggregates/repositories |
| API Design Patterns (Geewax) | Optional cross-reference | Published-language contracts and cross-context integration |
| Just Enough Software Architecture (Fairbanks) | Peripheral | Architecture description vocabulary |
Read Only If Stuck
Business Domain, Subdomain, Bounded Context
- Khononov: What is a business domain to types of subdomains
- Khononov: Comparing subdomains
- Khononov: Identifying subdomain boundaries to Gigmaster
- Khononov: Bounded contexts vs subdomains
Ubiquitous Language
- Khononov: Consistency to tools
- Khononov: Challenges to exercises
- Khononov: Inconsistent models to scope of a bounded context
- Khononov: Buying a refrigerator to exercises
Context Mapping -- Relationships, ACL, OHS, Published Language
- Khononov: Cooperation to conformist
- Khononov: Anticorruption layer to exercises
- Khononov: Model translation
- Khononov: Customer-supplier to separate
EventStorming and Discovery
- Khononov: What is EventStorming to step 6 policies
- Khononov: Step 7 read models to exercises
- Khononov: Strategic analysis to modernization strategy
- Khononov: Strategic modernization to pragmatic DDD
- Khononov: Domain knowledge to exercises
Evolving Contexts
- Khononov: Changes in domains to tactical design concerns
- Khononov: Subdomains to exercises (reclassification)
- Khononov: Subdomains to conclusion
- Khononov: Appendix A -- Applying DDD case study
Entities, Value Objects, Aggregates
- Khononov: History to building blocks part 1
- Khononov: Building blocks part 2
- Khononov: Building blocks part 3
- Khononov: Building blocks part 4 to exercises
- Khononov: Business logic vs architectural patterns
Repositories, Factories, Application Layer
- Khononov: Layered architecture to implementation
- Khononov: Customer-supplier to separate (handler patterns)
Domain Events, Outbox, Sagas
- Khononov: Integrating aggregates and outbox
- Khononov: Saga to exercises
- Khononov: Event-driven architecture to structure
- Khononov: Types of events to distributed big ball of mud
- Khononov: Temporal coupling to exercises
CQRS and Read Models
- Khononov: Projecting read models to exercises
- Khononov: Analytical vs transactional data model
- Khononov: Data warehouse to data mesh
- Khononov: Decompose data around domains
Event Sourcing
- Khononov: Event sourcing
- Khononov: Search to event-sourced domain model
- Khononov: Advantages to exercises
- Khononov: Bounded context 3 -- event crunchers
Architecture-to-Context Alignment
- Khononov: What is a service to system complexity
- Khononov: Microservices as deep services to aggregates
- Khononov: Closing words to conclusion
How This Reference Section Interacts With the Rest of the Module
- Concept pages link to 1-2 chunks in "Read This Only If Stuck" for each concept. Use those first.
- Practice pages are self-contained; no reference reading required to work them.
- Exercise lanes are the place to go after you have built an artifact and want to compare it with the book's treatment.
- This reference index is a flat directory -- use it if you have a specific topic but no specific concept number.
Do not attempt to read every chunk listed here. The module is designed so that 4-6 chunks per cluster is enough.