Skip to main content

Domain Modeling Concepts

Problem This Area Solves

Domain Modeling exists to let application code express business behavior directly instead of encoding it in lower-level stream, transport, or client infrastructure.

Core Idea

This is the layer where aggregates, sagas, event effects, and UX projections are described in business terms.

How It Fits The Stack

Domain Modeling sits above Brooks and Tributary.

What This Area Owns

  • Aggregate command-handling abstractions and runtime support
  • Saga orchestration surfaces
  • Event-effect patterns attached to domain behavior
  • UX projection abstractions and runtime support

What This Area Does Not Own

  • Raw event-stream persistence
  • The reducer and snapshot substrate beneath domain behavior
  • Client-side UI composition as a subsystem

What This Page Guarantees

  • It defines Domain Modeling as the business-facing layer for aggregates, sagas, effects, and UX projections.
  • It identifies the lower layers readers should switch to when the problem is really stream or reduction infrastructure.

What This Page Does Not Claim

  • Full aggregate, saga, effect, or projection API reference
  • Orchestration, durability, retry, or ordering guarantees
  • Detailed runtime behavior documentation for every domain pattern

Trade-Off To Keep In Mind

Domain Modeling gives you business-facing building blocks, but it depends on the lower layers remaining conceptually separate and well understood.

Summary

Think of Domain Modeling as the place where Mississippi becomes application behavior instead of infrastructure.

Next Steps