Before we can begin to effectively build software to solve the businesses problems we need to take some time to get to know the business itself. Domain Driven Design focuses on delivering a final solution that is fluent and expressive of the business domain.
# Types of Domains
A domain is a distinct area of the business that has its own concerns and business requirements. When push comes to shove, a domain is just a boundary. Figuring out what goes inside a domain is up to you as the architect.
Broadly speaking there are two (2) types of domains: the core business domain, and various other "subdomains" that fall inside the core business domain.
## Core Business Domain
The Core Business Domain, is usually a domain that is broad enough to encompass the operations of the entire company. ==It is the core service that the company provides to its customers.==
Large companies may have multiple business domains. For example, Amazon operates an online retail store and a [[AWS|leading cloud computing service]]. Each are core business domains.
## Subdomains
2. Core Subdomain
3. Generic Subdomain
4. Supporting Subdomain