September 2026
Intermediate
481 pages
14h 45m
English
Software products should be built as a collection of autonomous parts, each of which encapsulates a set of related capabilities. Within every individual part, the enclosed domain model is clustered into components that enforce consistency, protect invariants, and enable concurrency. Through high-level message exchange, different model components can interact and integrate with one another, even across system parts. This communication allows for synchronizing state, enforcing overarching constraints, and updating derived data structures. On top of these fundamentals, a message exchange lays the foundation for coordinating advanced use cases that combine individual capabilities.
Virtually every software product ...
Read now
Unlock full access