Skip to content
all episodes
Code of Architecture · episode 05

Learning Domain-Driven Design — Chapter 4

1:17:31

Episode participants

The complete participant roster has not yet been confirmed by the available sources.

Conversation

What we discussed on the recording

The final section connects DDD with microservices, events, and Data Mesh. Microservices reflect autonomous teams and independent deployment. A good service is a deep module that hides complexity behind a small interface. A bounded context may define its boundary, but the mapping need not be one to one.

In an event-driven system, a command requests an action and may be rejected, while an event records a fact. Event Notification carries an identifier and requires a fresh read. Event-Carried State Transfer sends a snapshot or changes, reducing runtime dependency at the cost of stale data, replication, and schema coupling.

An analytical model differs from a transactional one. Star and Snowflake schemas organize facts and dimensions. A Data Warehouse transforms data on loading, but a shared model and ETL couple reports to services. A Data Lake delays transformation and enables many views, yet schema-less accumulation weakens data quality.

Data Mesh applies DDD to analytics: models follow bounded contexts, and domain teams own data. Data becomes a product with a versioned schema and quality expectations. A self-service platform simplifies publishing and discovery, while federated governance preserves shared rules and autonomy.