Skip to content

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.