A Domain Service manages stateless operations within the domain, often involving computations or transformations across multiple [[Aggregate|Aggregates]]. It encapsulates business logic that doesn't naturally belong to an [[Entity]], [[Value Object]], or [[Aggregate]].
Domain Services should not be used to bypass the rule of modifying only one [[Aggregate]] per transaction.
Domain Services can interact with external [[Bounded Context|Bounded Contexts]].
They should be used sparingly, as overuse can result in an [[Anemic Domain Model]].
[[Entity|Entities]], [[Aggregate|Aggregates]], [[Factory|Factories]], [[Repository|Repositories]], [[Application Service|Application Services]], and other Domain Services can act as clients of Domain Services when they need to execute business logic beyond their responsibility.