Subdomains and the Core Domain
Not every part of a domain deserves equal effort. Distillation is the strategic practice of finding the core domain, the part that differentiates the business and is worth your best modeling, and separating it from the generic subdomains around it (solved problems you buy or adopt rather than lovingly build).
This is the distillation material from chapter 15 of Evans’s 2003 Blue Book, the part he later said deserved far more emphasis than its late placement gave it. Evans drew the line as core versus generic and used “supporting subdomains” only in passing. Vernon later formalized it as a named third category, the supporting subdomain, for what the business needs but is not distinctive: neither differentiating enough to be core nor generic enough to buy off the shelf. Khononov and others carry this three-way taxonomy forward, so the modern framing is core, supporting, and generic subdomains. It is strategic design, and it is what tells you where the aggregates and careful modeling should go.
Signal: you can name your core subdomain and say why it is core; your generic subdomains are bought or adopted, not hand-modeled. Part of Domain-Driven Design.
Sources
- Eric Evans, Domain-Driven Design (2003), ch. 15 (Distillation): the core-domain material, late in the book.
- Eric Evans, Domain-Driven Design Reference (2015): the distillation and core-domain material Evans later said deserved far more emphasis.
- Vaughn Vernon, Implementing Domain-Driven Design (2013): formalizes the supporting subdomain as a named third category between core and generic, where Evans used the term only in passing.
- Vlad Khononov, Learning Domain-Driven Design (2021): carries the three-way core/supporting/generic taxonomy forward.