Strategic Domain-Driven Design: Domain Types

Not all domains in a system are equally important. Strategic Domain-Driven Design helps identify core, supporting, and generic domains so teams can focus effort where it creates real business advantage

Strategic Domain-Driven Design: Domain Types

Not all domains in a system are equally important. Some represent the core of a business and define its competitive advantage, while others simply support operations or fulfill necessary but non-differentiating requirements.

Understanding these differences is a fundamental step in Strategic Domain-Driven Design. It helps teams decide where to focus their effort, where innovation matters most, and where existing solutions may already be sufficient.

This series explores how to classify domains and how that classification influences architectural decisions, implementation strategy, and long-term system evolution.

Articles in this Series

Domain Types: Identifying core, supporting, and generic domains
This article introduces the three domain types defined in Domain-Driven Design: core domains, supporting subdomains, and generic subdomains. It explains how these categories reflect both the business importance and the complexity of different areas within a system.


Domain Types: Build, buy, or outsource?
Once domains are classified, the next step is deciding how they should be implemented. This article explains how domain types influence architectural decisions and implementation strategy. It explores how classification helps determine when it makes sense to build a solution internally, adopt an existing product, or outsource development, while also explaining why these decisions should evolve as knowledge about the domain and the market grows.


Domain Types: What if you build nothing?
Not every business problem needs to be solved by software from day one. This article explores a fourth strategic option beyond build, buy, and outsource: deliberately addressing a subdomain outside the system. It explains why a subdomain continues to exist even when it is not automated and how business constraints, costs, and priorities can justify postponing implementation.


Domain Types: The architecture your subdomain deserves
Once domains are classified, the next step is deciding how much protection their business logic requires. This article looks at domain types through an architectural lens and explains how they can influence code structure and architectural choices.