Skip to content

Rule 10 Small aggregates

Edward Baitsewe edited this page Nov 9, 2026 · 1 revision

Rule 10: The aggregate is a consistency boundary, and it is smaller than you think

Part two: modelling. Group only the objects that must be correct together at the same instant. Link everything else by ID.

The short form of every rule is in BUILD_PHILOSOPHY.md, which is the version that counts. This page is the long form: why, where it shows today, and when not to use it.

Why

Large aggregates lock too much, load too much and conflict too often. Ask: "if these two changed a second apart, would the business be harmed?" If not, they are separate.

Where it shows in Slim Killer

Not in the code yet. The first aggregates come with the publish pipeline (a release and its checks) and with Edge Storefront (an order and its lines; stock on its own, linked by product ID). This page will show them when they exist.

When not to apply it

Content entries are not aggregates. Each file stands alone, and Git already makes each save one consistent change.

Words

Aggregate, invariant. See Glossary.

Learn more

Advanced Domain Architecture & Tactical DDD, Rule 3 in its course philosophy, taught in module 2, aggregates and consistency. Course page.


Build philosophy

Clone this wiki locally