Skip to content

Domain

A Domain is the top-level area of activity that the model describes. It is the answer to the question what business are we in? – not a single feature, not a product, but the whole field within which the system operates.

Every ESDM project has exactly one Domain document. It declares the name of the Domain, an optional description, and provides the umbrella under which Subdomains and everything below them live.

When to Use the Term

Use Domain when you want to talk about the whole. A logistics company has a logistics Domain. A bank has a banking Domain. A golf-club management product has a golf-club-management Domain. The Domain is the umbrella under which all the other terms make sense.

Resist the temptation to split a Domain into more than one document. If you find yourself wanting to, what you're really discovering is that you have multiple Subdomains, not multiple Domains.

A Minimal Example

apiVersion: schema.esdm.io/core/v1
kind: domain
name: golf-club-management
description: Managing golf clubs, their members, and the rounds they play.

A Domain has no list of Subdomains on the document itself. Subdomains scope back to the Domain by name; the Domain is open by design.