Domain Service Standard
Executive Summary
Domain services hold domain behavior that does not naturally belong to one aggregate, entity, or value object.
Responsibilities
| Responsibility |
Requirement |
| Domain behavior |
Encapsulates business logic using Domain language. |
| Policy support |
Supports domain policies, eligibility, scoring, or decision rules. |
| Invariant protection |
Helps enforce invariants across related objects owned by the module. |
| Event production |
May produce domain events when a business fact happens. |
Rules
| Rule |
Requirement |
| Stay module-local |
Domain services are not shared across modules. |
| Do not orchestrate workflows |
Workflow orchestration belongs to application services or process components. |
| Do not access other repositories |
Domain services cannot read or write another module's persistence. |
| Use Domain language |
Service names and methods should reflect business language, not technical tasks. |
Examples
| Module |
Domain Service Example Area |
organization |
Organization eligibility or tenant activation rules. |
compliance |
Compliance readiness scoring or evidence validation rules. |
opportunity |
Opportunity matching and qualification rules. |
bid |
Bid readiness and submission risk rules. |
intelligence |
AI reasoning acceptance and memory eligibility rules. |